我面臨着同樣的問題,雖然我認爲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,「打瞌睡」的狀態。