我面临着同样的问题,虽然我认为Android必须由接收器发送不同的状态区分这或提供的功能会问这样的状态,我没有发现任何相关的。
记住,回去当了一段9-10分钟的时间后,打瞌睡的ACTION_DEVICE_IDLE_MODE_CHANGED再次发射。
的解决方案将是:
设备的当前状态 - > “打盹IDLE”
当您收到ACTION_DEVICE_IDLE_MODE_CHANGED和isDeviceIdleMode()是假的 您的状态是 “出瞌睡怀疑” -DO你的方便窗口工作,并在将来设置闹钟15分钟。
上的下一个模式改变。
如果ACTION_DEVICE_IDLE_MODE_CHANGED在警报和isDeviceIdleMode()为true之前触发,那么这是一个Mantenience窗口。 “不打瞌睡”, (关闭闹钟)。
如果报警率先打响,这意味着它是一个“出瞌睡真正的证实”,用于“瞌睡的”在报警
瞌睡的时机是在文档 -Do您的设置。一定要先检查一下。 (未来可能会发生变化,因为已经发生了*可能有一个不变的价值 - 我不知道)。
我认为这是一个黑客,而不是一个完整的解决方案fedged。但它的工作原理,直到任何未来的扩展工作在android上提供另一个调用ACTION_DEVICE_IDLE_MODE_CHANGED,“打瞌睡”的状态。