Заставить андроид телефон спать, чтобы проверить? - PullRequest
24 голосов
/ 05 августа 2010

Я пишу приложение для Android, которое зависит от сетевой активности, и диспетчер аварийных сигналов иногда выводит телефон из спящего состояния.

Мой вопрос: как я могу надежно проверить это на устройстве?В идеале, как заставить телефон полностью перейти в спящее состояние.В противном случае, как я могу точно знать, когда телефон полностью перешел в режим сна?

Как вы проверяете свой код Alarm Manager / Wake Lock / Sleep?

Ответы [ 4 ]

10 голосов
/ 07 ноября 2016

Выключите экран устройства / эмулятора и затем выполните следующие команды:

adb shell dumpsys battery unplug
adb shell dumpsys deviceidle step

Повторно запускайте вторую, пока не получите сообщение «IDLE».Это работает на устройствах под управлением Android 6.0 или новее.

2 голосов
/ 17 декабря 2017

Шаг 1

a.Установите в настройках «разрядку» устройства (следуйте инструкциям в красных полях).

b.Выключите экран устройства, нажав кнопку «Питание» (синее поле).

Turn of the phone in Emulator

Шаг 2

а.Чтобы напрямую перевести устройство в спящий режим, выполните:

adb shell dumpsys deviceidle force-idle

b.Или медленно перейдите в спящий режим, выполните:

adb shell dumpsys deviceidle step несколько раз.

Шаг 3

Для подтверждения состояния простоя устройства выполните:1032 *

adb shell dumpsys deviceidle get deep

1 голос
/ 05 августа 2010

Нажатие кнопки питания на устройстве должно перевести его в режим сна.В PowerManager есть также метод goToSleep (длительное время) , но для него требуется разрешение DEVICE_POWER , которое зарезервировано для системных приложений.

0 голосов
/ 20 ноября 2010

если вы хотите протестировать на эмуляторе, то на главном экране нажмите меню -> настройка -> приложения -> разработка -> снимите флажок бодрствовать

...