【问题标题】:Alarm set in App with AlarmManager got removed when App Force Stop当 App Force Stop 时,App 中使用 AlarmManager 设置的警报被删除
【发布时间】:2012-06-28 09:34:11
【问题描述】:

我正在尝试使用AlarmManager 创建警报,即使设备被锁定,它也能正常工作。

但是当我使用 Settings -> Manege App -> MyApp -> Force Stop 杀死应用程序时,我的警报会破坏所有设置。

所以请告诉我在应用程序被强制停止后如何保存我的警报设置,它会在正常时间通知我。

提前谢谢...

【问题讨论】:

    标签: android alarmmanager


    【解决方案1】:

    但是当我使用 Settings -> Manege App -> MyApp 杀死应用程序时 -> 强制停止,然后我的闹钟会破坏所有设置。

    AlaramManager 是始终运行的关键系统服务。如果您的应用程序安排了某些事情并被杀死,那么 AlarmManager 可能会再次启动应用程序(通过 PendingIntent)。

    只需在 StackOverflow 上查看 this 答案即可。

    【讨论】:

    • 感谢 Lalit 的快速回复.. 但是你能不能给我一个代码示例,因为我已经使用了 PendingIntent 但它不能正常工作.. :(
    • 网上已经有很多例子了,请google一下。
    【解决方案2】:

    从 Android 3.1 开始,如果用户强制关闭您的应用程序,所有警报都将被取消,并且需要在您的代码中重新安排...

    来自 Android 文档.... 请注意,系统将 FLAG_EXCLUDE_STOPPED_PACKAGES 添加到所有广播意图。这样做是为了防止来自后台服务的广播无意或不必要地启动已停止应用程序的组件。后台服务或应用程序可以通过将 FLAG_INCLUDE_STOPPED_PACKAGES 标志添加到应该允许激活停止的应用程序的广播意图来覆盖此行为。

    应用程序在首次安装但尚未启动以及由用户手动停止时(在“管理应用程序”中)处于停止状态。

    【讨论】:

      猜你喜欢
      • 2012-05-02
      • 2013-01-07
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多