0

我有一个每 2 分钟触发一次的警报(当手机没有处于睡眠状态时)并更新一个小部件,它工作得很好,但是当应用程序被杀死时,没有任何警报剩余,所以它不再工作了。我能做些什么来管理这个杀戮并在那之后让我的警报继续工作。

如果您需要更多信息,请告诉我。如果你不明白,也告诉我。

谢谢解答!

4

2 回答 2

0

将您的警报配置为在系统启动完成意图 (android.intent.action.BOOT_COMPLETED) 或类似的可靠意图上进行初始化。

创建一个使用以下意图的广播接收器

if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
{
    AlarmManager aMgr = (AlarmManager) cx.getSystemService(Context.ALARM_SERVICE);
    PendingIntent pi = PendingIntent.getBroadcast(cx, 0, new Intent(cx, ScheduleReceiver.class), 0);
    aMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, Thoth.Settings.ALARM_TRIGGER_AT_TIME, Thoth.Settings.ALARM_INTERVAL, pi);
}

ScheduleReceiver 是启动更新小部件的服务的类。

于 2011-03-09T09:10:00.597 回答
0

如果您正在测试杀死应用程序时会发生什么,您可能会遇到与我相同的问题。

在 2.2 上,如果我在“管理应用程序”视图中终止应用程序,我的AlarmManager应用程序警报会自动删除。

如果应用程序因异常而死机,则警报会继续触发。

于 2012-09-25T12:13:49.680 回答