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

ton*_*099 8 android broadcastreceiver alarmmanager android-broadcast

文档AlarmManagerstartes该

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

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

发生了什么?

Kai*_*Kai 11

@Shrikant说的几乎就是答案.

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

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

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

  • @kai:当应用程序崩溃时,警报管理器会被杀死吗?如果是这样,我们应该在应用程序类中设置警报/或者在这种情况下采取什么样的最佳方法? (2认同)