5

好的,所以我注册了两个 BroadcastReceiver。当应用程序关闭时,它们都会在适当的时间触发并做适当的事情。

如果应用程序被关闭然后被杀死(比如使用 AppKiller),接收者永远不会收到他们的广播,并且什么也没有发生。

如果父应用程序由于内存不足而被杀死,大概会发生同样的事情,那么我如何确保这些广播被触发/接收。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 中没有发生任何深奥的事情

4

1 回答 1

0

如果父应用程序由于内存不足而被杀死,大概会发生同样的事情

你假设不正确。所谓的“任务杀手”正在利用一种特定的 API,一种不用于低内存条件的 API。“任务杀手”API 可以摧毁一切,包括预定的警报。

此外,您的父应用程序希望最初不在内存中。使用的全部意义AlarmManager在于,您的“父应用程序”不会在不做任何事情时占用内存。

于 2010-05-15T16:21:54.610 回答