2010-05-15 247 views
4

好吧,我有兩個BroadcastReceiver註冊。當應用程序關閉時,它們都會在適當的時候啓動並執行相應的操作。爲什麼當應用程序被殺後AlarmManager廣播會被取消?

如果應用程序關閉然後殺死(用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

回答

0

據推測,如果 父應用程序是由於低殺死了同樣的事情發生是怎麼回事 內存

你認爲是錯誤的。所謂的「任務殺手」正在利用特定的API,一種不適用於低內存條件的API。 「任務殺手」API可以包括所有事件,包括預定警報。

此外,你的父母應用程序有希望不在記憶中。使用AlarmManager的全部意義在於,您的「父應用程序」在沒有做任何事情時不會佔用內存。

+0

謝謝。 父應用程序被置於後臺並且可以被系統關閉;多數民衆贊成在應用程序點只是保持警報運行 – skooter 2010-05-16 01:58:37

相關問題