Android 为什么当应用程序被终止时AlarmManager广播会被取消?
好的,我注册了两个广播接收机。当应用程序关闭时,它们都会在适当的时间启动并执行适当的操作 如果应用程序被关闭,然后被杀死(比如使用AppKiller),那么接收者永远不会收到他们的广播,并且什么也不会发生 如果父应用程序由于内存不足而被终止,可能会发生同样的情况,那么我如何确保这些广播被触发/接收呢。API声明,即使应用程序被杀死,它也应该启动,其他人是否有这种情况的经验 如果有帮助,我的清单是:Android 为什么当应用程序被终止时AlarmManager广播会被取消?,android,broadcastreceiver,alarmmanager,Android,Broadcastreceiver,Alarmmanager,好的,我注册了两个广播接收机。当应用程序关闭时,它们都会在适当的时间启动并执行适当的操作 如果应用程序被关闭,然后被杀死(比如使用AppKiller),那么接收者永远不会收到他们的广播,并且什么也不会发生 如果父应用程序由于内存不足而被终止,可能会发生同样的情况,那么我如何确保这些广播被触发/接收呢。API声明,即使应用程序被杀死,它也应该启动,其他人是否有这种情况的经验 如果有帮助,我的清单是: <!-- receivers for AlarmManager --> <re
<!-- 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中没有发生任何神秘的事情
假设同样的事情发生在
父应用程序由于低可用性而被终止
记忆
你想错了。所谓的“任务杀手”是利用一种特定的API,一种在内存不足的情况下不使用的API。“任务杀手”API对一切都进行了核爆,包括定时警报
此外,您的父应用程序可能一开始就不在内存中。使用
AlarmManager
的全部意义在于,您的“父应用程序”不会在不执行任何操作时占用内存。谢谢。父应用程序置于后台,可由系统关闭;这就是应用程序的一个要点,就是让警报保持运行