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