好的,我已经注册了两个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
中没有任何深奥的内容答案 0 :(得分:0)
据推测,如果发生同样的事情 父应用程序因低而被杀死 存储器
你猜错了。所谓的“任务杀手”正在利用一种特殊的API,一种在低内存条件下不使用的API。 “任务杀手”API可以解决所有问题,包括预定的警报。
此外,您的父应用程序希望首先不在内存中。使用AlarmManager
的重点是让你的“父应用程序”不会在没有做任何事情时占用内存。