如何在没有AlarmManager API的情况下安排警报

时间:2016-03-10 11:34:07

标签: android alarmmanager android-alarms

我想在没有AlarmManager API的情况下安排闹钟,因为这不适用于我的三星设备(三星智能管理器取消闹钟),但我不知道我该怎么做?

1 个答案:

答案 0 :(得分:2)

如果这真的是闹钟类应用,那么alarm clock methods on AlarmManager应该是可靠的。它们会产生副作用,例如您无法控制的系统UI。

然而,任何其他类型的设备上基于时间的计划工作都将是不可靠的,因为太多开发人员在这类事情上浪费了太多电池。谷歌和设备制造商根据用户对电池寿命的投诉,已采取措施限制AlarmManager可能造成的损害:

  • Android 6.0+具有打盹模式和应用待机状态
  • SONY有他们的STAMINA模式
  • 三星有相同的
  • 等等

Google似乎强调JobScheduler(或GcmNetworkManager,如果您使用的是Play服务)作为定期工作的首选方法,我们当然欢迎您使用它。但是,它仅适用于Android 5.0+。而且,正如AlarmManager的某些方面一样,JobScheduler是不准确的 - 您的事件不会在请求的时间完全触发,而是在附近的某个时间触发,以帮助尽量减少我们拥有的次数将设备唤醒进入睡眠模式。在Android 6.0 +上,JobScheduler也会受到打盹模式和应用待机状态的影响。