2015-07-21 2 views
17

Я последовал шаги, описанные здесь:Как сменить устройство в режиме «Доза» (Android Preview M/Marshmallow)?

https://developer.android.com/preview/testing/guide.html#doze-standby

обстоятельства: версия

  • Android Debug Bridge 1.0.32

  • Nexus 9 с Preview M

Shel л:

$ 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 

Но это не сработало.

Итак, мой вопрос, как уже упоминалось выше, как перевести устройство в режим «Дозировка»? Что я сделал не так?

EDIT - Июнь, 2016:

New Link: https://developer.android.com/training/monitoring-device-state/doze-standby.html

+1

Я хотел бы предложить переместив решение из вопроса, и в новый ответ. Тогда примите этот новый ответ как правильный ответ. Это помогает указать, что этот вопрос был решен, чтобы система и другие пользователи могли легко увидеть, что решение доступно! –

+0

Thx, я сделал это. –

+0

Выше ссылка сломана, добавлена ​​новая ссылка, см. Править. –

ответ

17

Хорошо, я понял. Трюк состоял в том, чтобы выключить экран!После этого

$ ADB dumpsys оболочки deviceidle шаг выходы:

IDLE_PENDING

затем

SENSING

затем

IDLE

затем

IDLE_MAINTENANCE

затем

IDLE

затем

IDLE_MAINTENANCE

и так далее ...

Большое спасибо этот сайт:

https://newcircle.com/s/post/1739/2015/06/12/diving-into-android-m-doze

+1

Кроме того, команда 'adb shell dumpsys deviceidle' полезна для просмотра текущего состояния, включая предпосылки для IDLE (включено, не перемещается, не заряжается, выключается). Например. нужен ли вам еще один щелчок на кнопке питания эмулятора, чтобы получить mScreenOn = false. – Jerry101

0
$ adb shell dumpsys deviceidle -h 

Эта команда выводит только сообщение справки, как общая программа UNIX.

IDLE означает режим «Дозировка». В статье, которую вы связали, вы можете рассматривать режим Doze как режим ожидания устройства.

4

Да, похоже, что руководство по тестированию разработчика Google неверно. Я недавно обнаружил это и опубликовал ошибку об этом here с правильными шагами, чтобы заставить устройство простаивать (aka doze).

+1

Спасибо за это! –

25

Существует better way для достижения этой цели в новых версиях:

$ ADB dumpsys оболочки deviceidle силы простаивающего

Нет необходимости отсоединять от власти, нет необходимости ждать для отключения экрана.

+1

любая идея, как ее вывести? – Kushan

+5

'adb shell dumpsys deviceidle invce' –

+5

' adb shell dumpsys deviceidle disable' –

0

Вы можете найти мой полный ответ размещен на тему здесь: How to test Doze Mode on Android?

Idle государственного - Для того, чтобы поместить устройство в состояние ожидания вы можете использовать следующие ADB команды:

>adb shell dumpsys battery unplug 
>adb shell dumpsys deviceidle force-idle 

Активное состояние - для того, чтобы поместить устройство обратно в активное состояние, вы можете моделировать следующие ключевые события:

> adb shell input keyevent KEYCODE_WAKEUP 

Я также необходим быстрый вариант для переключения между активными и Idle состояниями, так что я написал сценарий серии adbIdleModeSwitch.bat для этих целей, вы можете скачать и использовать его: https://drive.google.com/file/d/0B81qFnPX_eUUYTMxOTd1UG94NVk/view

Смежные вопросы