感谢TasKiller
我有可靠的方法从AppWidget
关闭来自AlarmManager
的更新!
现在,讽刺的是,我如何从这样的事件中恢复过来?到目前为止,我只看到Alerts
仅在重新启动手机后才会复活。
我可以将恢复代码粘贴到几个地方,例如属于我的应用和我的小部件的各种Activity#onCreate
但是有更好的方法吗?
此外,如果警报正常 - 有没有办法检测到而不是AlarmManager#setRepeating
?
或者多次运行会有害吗?
答案 0 :(得分:5)
现在,讽刺的是,我该如何恢复 从这样的事件?
我听说单一麦芽苏格兰威士忌有帮助。
到目前为止,我只看到了警报 重新启动后才重新启动 电话。
仅当您挂钩BOOT_COMPLETED
广播Intent
并重新建立闹钟时才会这样做。
任务杀手非常彻底,但他们无法阻止BroadcastReceiver
接收系统广播,例如BOOT_COMPLETED
。欢迎您找到您希望收到的其他广播,以帮助重新获得控制权并重新建立警报。
如果警报没问题也是如此 - 是 有办法检测到而不是运行 AlarmManager#setRepeating?或者在那里 多次运行会造成伤害?
您可以cancel()
现有的闹钟。因此,如果您担心可能的重复,cancel()
当前警报(如果警报不存在,希望安静地失败),然后设置警报。