我稍微修改了此應用:https://github.com/commonsguy/cw-omnibus/tree/master/JobSchedulerAndroid M打盹狀態本身是否有多個狀態?
它使用setExactAndAllowWhileIdle和時間表報警熄滅每隔1分鐘並記錄其設置報警。
根據Doze文檔,如果此應用程序在手機處於打盹模式下運行,則每15分鐘只應該關閉一個鬧鐘。我沒有看到那種行爲。
在運行Android M.開始該應用和整個報警調度處理之後AA關係5,我把手機進入打盹使用所提供的命令ABD ...
ADB殼dumpsys電池拔掉 ADB殼dumpsys deviceidle步驟 adb shell dumpsys deviceidle -h
...從日誌中,我看到大約30分鐘的警報每分鐘一次關閉,最後他們相隔15分鐘大約一個小時。然後每分鐘回到一次,然後再回到15分鐘。測試期間,手機完全不受干擾。
有誰知道這是爲什麼?我的印象是這些adb命令後,手機會立即進入打盹模式,並且這些鬧鐘將在開始15分鐘後關閉。
感謝您的幫助。
FWIW,我沒有用下面的命令困擾,因爲我不信任他們。我只是讓設備在自己的(缺乏)電源下進入打盹模式。我不確定你從哪裏得到你的每15分鐘一點,因爲我無法在[行爲改變文檔]中找到對「15」的引用(http://developer.android.com/preview/行爲changes.html)。 – CommonsWare
@CommonsWare感謝您的重播。我沒有明確解釋這一部分,我的錯誤。在setExactAndAllowWhileIdle方法的快速文檔中指出:「在正常的系統操作下,它不會在每分鐘內發送這些報警(在這種情況下,每個此類未決報警都會發送);當處於低功耗空閒模式時,持續時間可能會明顯更長,如15分鐘「 –
根據我的經驗,在實際打盹模式下,事件之間的差距要長得多,從一小時到幾小時。 – CommonsWare