0
我的應用使用AlarmManager
以特定間隔運行Service
。有些東西導致AlarmManager
停止運行,但我很難調試它可能的結果。我聽說如果在Service
中引發異常,這可能會導致AlarmManager
停止,但在LogCat
中我沒有看到任何異常。什麼會導致AlarmManager停止
有關如何調試AlarmManager
自動停止或可能導致停止的任何建議?
我的應用使用AlarmManager
以特定間隔運行Service
。有些東西導致AlarmManager
停止運行,但我很難調試它可能的結果。我聽說如果在Service
中引發異常,這可能會導致AlarmManager
停止,但在LogCat
中我沒有看到任何異常。什麼會導致AlarmManager停止
有關如何調試AlarmManager
自動停止或可能導致停止的任何建議?
我聽說如果服務中引發異常,可能導致AlarmManager停止,但我在LogCat中沒有看到任何異常。
我不知道是這樣。
如何調試自動停止
我會使用adb shell dumpsys alarm
確認報警真的走了一個AlarmManager任何意見。
或者什麼可能導致它停止?
唯一的三件事情,我知道,這將取消預定的報警是:
cancel()
當然,完整的卸載程序也不會安排您的警報。
在AndroidManifest中,我爲'BroadcastReceiver'提供了'android.intent.action.BOOT_COMPLETED'的intent-filter'。如果設備重新啓動,是否還需要重新啓動警報? – 2012-08-12 23:11:48
@KrisB:好吧,實際上你需要一些代碼來重新安排警報,在'BroadcastReceiver'的'onReceive()'中。而且,您需要'RECEIVE_BOOT_COMPLETED'權限。 – CommonsWare 2012-08-12 23:13:51
雖然我很困惑,但每次運行警報時,b/c都不是'BroadcastReceiver'運行的,所以不會重新安排警報一遍又一遍,不僅僅是在重新啓動時? – 2012-08-13 01:27:29