当应用程序被杀时,为什么AlarmManager广播会被取消?

时间:2010-05-15 16:00:43

标签: android broadcastreceiver alarmmanager

好的,我已经注册了两个BroadcastReceiver。当应用程序关闭时,它们会在适当的时间点火并执行相应的操作。

如果应用程序关闭然后被杀死(比如AppKiller),接收器永远不会收到他们的广播,也没有任何反应。

如果父app因内存不足而被杀,大概会发生同样的事情,所以如何确保这些广播被触发/接收。 API声明,即使应用程序被杀,它也应该解雇,其他人是否有过这种情况的经验?

如果它有助于我的清单:

<!-- receivers for AlarmManager --> 
<receiver 
android:exported="true" 
android:label="Shift roster updating calendar." 
android:name="com.skooter.shiftroster.backend.service.UpdateCalendar" 
> 
</receiver> 
<receiver 
android:exported="true" 
android:label="Shift roster checking alarm." 
android:name="com.skooter.shiftroster.backend.service.SetWakeup" 
> 
</receiver> 

并且AlarmManager / BroadcastReceivers

中没有任何深奥的内容

1 个答案:

答案 0 :(得分:0)

  

据推测,如果发生同样的事情   父应用程序因低而被杀死   存储器

你猜错了。所谓的“任务杀手”正在利用一种特殊的API,一种在低内存条件下不使用的API。 “任务杀手”API可以解决所有问题,包括预定的警报。

此外,您的父应用程序希望首先不在内存中。使用AlarmManager的重点是让你的“父应用程序”不会在没有做任何事情时占用内存。