Как сменить устройство в режиме "Доза" (Android Preview M/Marshmallow)?
Я выполнил следующие шаги:
https://developer.android.com/preview/testing/guide.html#doze-standby
Обстоятельства:
Shell:
$ adb shell dumpsys battery unplug
= > работал, устройство отключено
$ adb shell dumpsys deviceidle step
= > Выход: Достигнут: АКТИВНО
$ adb shell dumpsys deviceidle -h
= > не работает = > Вывод:
Device idle controller (deviceidle) dump options:
[-h] [CMD]
-h: print this help text.
Commands:
step
disable
enable
whitelist
Я попробовал:
adb shell dumpsys deviceidle enable
Но это не сработало.
Итак, мой вопрос, как уже упоминалось выше, как перевести устройство в режим Doze?
Что я сделал неправильно?
EDIT - ИЮНЬ, 2016:
Новая ссылка:
https://developer.android.com/training/monitoring-device-state/doze-standby.html
Ответы
Ответ 1
Хорошо, я понял. Трюк состоял в том, чтобы выключить экран! После этого
$adb shell dumpsys deviceidle step
выходы:
IDLE_PENDING
затем
ЧУВСТВИТЕЛЬНАЯ
затем
IDLE
затем
IDLE_MAINTENANCE
затем
IDLE
затем
IDLE_MAINTENANCE
и т.д.
Большое спасибо этому сайту:
https://newcircle.com/s/post/1739/2015/06/12/diving-into-android-m-doze
Ответ 2
лучший способ для достижения этого в новых выпусках:
$adb shell dumpsys deviceidle force-idle
Не нужно отключать питание от сети, не нужно ждать, пока экран отключится.
Ответ 3
Да, похоже, что руководство по тестированию Google разработчика неверно. Я недавно обнаружил это и опубликовал ошибку об этом здесь с правильными шагами, чтобы заставить устройство простоять (aka doze).
Ответ 4
$ adb shell dumpsys deviceidle -h
Эта команда выводит только справочное сообщение, например, общую программу Unix.
IDLE означает режим Doze.
В связанной статье вы можете рассматривать режим Doze как режим ожидания устройства.
Ответ 5
Вы можете найти мой полный ответ, размещенный по этой теме:
Как проверить режим Doz на Android?
Состояние ожидания. Чтобы перевести устройство в состояние ожидания, вы можете использовать следующие команды adb:
>adb shell dumpsys battery unplug
>adb shell dumpsys deviceidle force-idle
Активное состояние. Чтобы вернуть устройство в активное состояние, вы можете имитировать следующее ключевое событие:
> adb shell input keyevent KEYCODE_WAKEUP
Мне также понадобилась быстрая опция для переключения между активными и незанятыми состояниями, поэтому для этих целей я написал пакет script adbIdleModeSwitch.bat, вы можете скачать и использовать его: https://drive.google.com/file/d/0B81qFnPX_eUUYTMxOTd1UG94NVk/view