我想在没有AlarmManager API的情况下安排闹钟,因为这不适用于我的三星设备(三星智能管理器取消闹钟),但我不知道我该怎么做?
答案 0 :(得分:2)
如果这真的是闹钟类应用,那么alarm clock methods on AlarmManager
应该是可靠的。它们会产生副作用,例如您无法控制的系统UI。
然而,任何其他类型的设备上基于时间的计划工作都将是不可靠的,因为太多开发人员在这类事情上浪费了太多电池。谷歌和设备制造商根据用户对电池寿命的投诉,已采取措施限制AlarmManager
可能造成的损害:
Google似乎强调JobScheduler
(或GcmNetworkManager
,如果您使用的是Play服务)作为定期工作的首选方法,我们当然欢迎您使用它。但是,它仅适用于Android 5.0+。而且,正如AlarmManager
的某些方面一样,JobScheduler
是不准确的 - 您的事件不会在请求的时间完全触发,而是在附近的某个时间触发,以帮助尽量减少我们拥有的次数将设备唤醒进入睡眠模式。在Android 6.0 +上,JobScheduler
也会受到打盹模式和应用待机状态的影响。