应用程序被杀死时如何管理alarmManager(Android)

时间:2011-03-09 08:36:13

标签: android broadcastreceiver alarmmanager

我每隔2分钟就会收到一次警报(当手机没有睡觉时)并更新小部件,它运行良好,但是当应用程序被杀时,没有任何警报仍然存在,因此它不再起作用了。我可以做些什么来管理这种杀戮并在此之后保持警报。

如果您需要更多信息,请告诉我。如果你不了解所有,请告诉我。

感谢您的回答!

2 个答案:

答案 0 :(得分: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是启动更新窗口小部件的服务的类。

答案 1 :(得分:0)

如果你正在测试杀死应用程序时会发生什么,你可能会遇到和我一样的问题。

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

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