Java 广播接收器(时间滴答)每晚都会死?

Java 广播接收器(时间滴答)每晚都会死?,java,android,time,broadcastreceiver,alarmmanager,Java,Android,Time,Broadcastreceiver,Alarmmanager,我想写一些体育网络服务的后台直播股票应用程序。。。 我希望我的应用程序能够随时调用时间刻度 顺便说一句:我也尝试过使用AlarmManager,但问题是相同的 但现在我的问题是 对于执行部分,我使用带有服务的接收器。 注册后每分钟正确呼叫一次接收器。 但每晚服务都会被终止,以后再也不会被呼叫 在安卓2.x上,一切正常,但安卓4.x每天都会停止接收。。。 在安卓4.x上是否有可能保持应用程序的活力 收款人已在我的主要活动中注册: 清单条目: 接收器类别: 我还尝试使用AlarmManager,但问

我想写一些体育网络服务的后台直播股票应用程序。。。 我希望我的应用程序能够随时调用时间刻度

顺便说一句:我也尝试过使用AlarmManager,但问题是相同的

但现在我的问题是

对于执行部分,我使用带有服务的接收器。 注册后每分钟正确呼叫一次接收器。 但每晚服务都会被终止,以后再也不会被呼叫

在安卓2.x上,一切正常,但安卓4.x每天都会停止接收。。。 在安卓4.x上是否有可能保持应用程序的活力

收款人已在我的主要活动中注册:

清单条目:

接收器类别:

我还尝试使用AlarmManager,但问题是相同的

AlarmManager是一个比ACTION\u TIME\u TICK好得多的答案,特别是如果您让用户配置轮询频率,包括一个“请不要轮询”选项,因为我希望我的电池和带宽使用保持在较低水平

请随意提出一个单独的StackOverflow问题,关于您觉得您在使用它时遇到的任何问题

但每晚服务都会被终止,以后再也不会被呼叫

Android可以并且将在任何时候终止您的进程,无论是用户请求还是由于年老

清单条目:


这是毫无意义的,因为。

你能在这里发布日志吗?你知道服务被终止的原因吗?谢谢你的帮助,但是日志上什么也没说。该服务被调用了几次,到了晚上,logcat没有我的应用程序的任何进一步条目。最后一个循环成功完成。此外,alarmmanage之类的系统消息没有抛出任何内容。谢谢。我认为危言耸听者更好。我想让用户配置,应用程序应该在什么时候在后台运行。但是有没有可能让应用程序保持活动状态并避免android终止它?@user2854483:在android上保留进程是一种反模式。请使用AlarmManager,并允许您的流程在用户定义的轮询期间的两次检查之间进行切换。其目的是,用户可以配置一些时间范围,例如足球比赛或比赛的时间范围,这将在未来几天进行。我想自动运行后台进程。但在超过24小时后,该应用程序就死机了,没有接收器被捕获。我可以将应用程序设置为睡眠或停止,但无法重新激活应用程序吗?@user2854483:这就是AlarmManager的用途。你不需要让你的应用持续运行。AlarmManager将在您指定的时间为您的应用程序提供控制,例如某些时间范围。。。在未来的一些日子里。
registerReceiver(new MyReceiver(), new IntentFilter(Intent.ACTION_TIME_TICK));
<service android:name="de.pepdev.MyService" />
<receiver android:name="de.pepdev.MyReceiver">
    <intent-filter>
        <action android:name="android.intent.action.TIME_TICK" />
    </intent-filter>
</receiver>
public class MyReceiver extends BroadcastReceiver
{
    public static   long        nextExecTime    = 0;
    public static   Calendar    currentTime     = Calendar.getInstance();

    @Override
    public void onReceive(Context context, Intent intent)
    {
        currentTime = Calendar.getInstance();

        if(nextExecTime <= currentTime.getTimeInMillis())
        {
            Intent service = new Intent(context, MyService.class);
            context.startService(service);
        }
    }
}