应用程序强制关闭时,AlarmManager不起作用

时间:2013-05-06 14:55:39

标签: android broadcastreceiver alarmmanager android-broadcast

AlarmManager的文档开始

  

注意:警报管理器适用于您希望在特定时间运行应用程序代码的情况,即使您的应用程序当前未运行也是如此。对于正常的计时操作(刻度,超时等),使用Handler会更容易,也更有效。

但是,一旦我的应用程序关闭(强制从任务管理器关闭),我的警报就不起作用,并且永远不会在广播接收器内调用OnReceive方法。 我的目标是4.x。

发生了什么事?

1 个答案:

答案 0 :(得分:10)

@Shrikant所说的几乎就是答案。

更长的版本是,如果用户必须手动强制关闭它,Android会假设应用程序出现问题。因此,在用户手动运行应用程序至少一次之前,不会启动与应用程序相关的所有活动(BroadcastReceiver,警报等)。例如,在用户运行应用程序之前关闭和打开设备时,将不会调用应用程序的启动BroadcastReceiver,然后下一个设备启动事件将被传递到应用程序的BroadcastReceiver。

此行为由Android框架开发人员设计确认:https://groups.google.com/forum/?fromgroups=#!topic/android-developers/anUoem0qrxU

*为语法和编辑而编辑添加了示例行为