在Android 6.0中设置闹钟的精确方法

问题描述:

setAlarmclock(),setAndAllowWhileIdle()setExactandAllowWhileIdle()是报警文档中描述的方法,能够切断打盹和应用待机模式。在Android 6.0中设置闹钟的精确方法

但是,有多个使用Google Clock的nexus用户报告说他们的设备无法使用闹钟(谷歌时钟使用setAlarmclock()setExact()方法)。

setAndAllowWhileIdle()一直reported为不影响打盹模式,而setExactandAllowWhileIdle()据说是working,但只为15分钟的间隙。

我需要能够安排至少5分钟的时间间隔报警。这里应该采取什么正确的方法?

+1

每五分钟将GCM消息从服务器发送到设备上的应用。 – CommonsWare

+0

这是否属于非消息应用程序的可接受用例? – Piyush

我最近在found设置的报警setAlarmClock使设备在报警启动2小时内进入空闲模式。似乎使用setAlarmClocksetExactAndAllowWhileIdleMarshmallow上的最佳方法。

AFAIK,没有办法解决你每5分钟发出一次报警的问题。您将无法按照您的要求切断休息模式。你必须想办法增加闹钟时间。根据"Acceptable Use Cases for Whitelisting",对非消息应用使用GCM消息也可能导致违规。

此外,当设备处于睡眠模式时,您无法设置重复闹钟。您必须使用上面的API设置闹钟,并在它们关闭时重新注册它们!

+0

但是,如果设备没有进入睡眠模式,就不可能这样做,就像我使用AlarmClock.setAlarmClock()安排闹钟一样? – Piyush

+0

如果不是打盹模式,那么它应该工作。虽然,我必须承认我还没有在棉花糖中尝试过这些API。但是我想你有这样的要求,你不会让设备进入打盹模式,因为你会每5分钟醒来一次。你有棉花糖重复间隔5分钟尝试api吗? –

+0

我尝试使用AlarmClock.setAlarmClock()设置闹钟,并且它在触发前60分钟保持设备不处于睡眠模式。 – Piyush