2009-12-08 38 views
7

感谢TasKiller我不得不停机更新可靠的方式从AlarmManager来我AppWidget的Android - AlarmManager恢复

现在,嘲讽不谈,如何从这样的事件中恢复?到目前为止,我只看到Alerts只有在重新启动手机后才会复活。

我可以坚持恢复代码到几个地方,例如属于我的应用程序和小工具我的,但有没有更好的办法不同Activity#onCreate

而且如果警报都OK - 有什么办法来检测,而不是运行AlarmManager#setRepeating

或者是否有伤害多次运行?

回答

5

现在,嘲笑一边,我该如何从这种事件中恢复 ?

我听说,单一麦芽威士忌帮助。

到目前为止,我只看到了警报只有在重启 电话后的 复活。

这是只有当你挂钩BOOT_COMPLETED广播Intent并重新建立警报。

任务杀手非常彻底,但他们不能阻止BroadcastReceiver接收系统广播,如BOOT_COMPLETED。欢迎您找到您希望收到的其他广播,帮助您重新获得控制权并重新建立警报。

还什么,如果警报被确定 - 是 有办法来检测,而不是运行 AlarmManager#setRepeating?或者是否有 多次伤害运行?

您可以cancel()一个现有的警报。因此,如果您担心可能的重复,cancel()当前警报(如果警报不存在,希望安静地失败),然后设置警报。

+2

嗯,你甚至不必为'cancel' - 当你在同一个悬而未决的意图你的日程安排自动复位调用时间表。谢谢你的帮助Mark,非常感谢 – Bostone