Подтвердить что ты не робот

Заставить Android-телефон спать, чтобы проверить?

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

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

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

4b9b3361

Ответ 1

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

adb shell dumpsys battery unplug
adb shell dumpsys deviceidle step

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

Ответ 2

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

Ответ 3

Шаг 1

а. Поместите устройство в режим "разрядки" в настройках (следуйте инструкциям в красных окнах).

б. Выключите экран устройства, нажав кнопку "Power" (синий).

Поворот телефона в эмуляторе

Шаг 2

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

adb shell dumpsys deviceidle force-idle

б. Или медленно перейдите в спящий режим, запустите:

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

Шаг 3

Чтобы подтвердить статус простоя устройства, запустите:

adb shell dumpsys deviceidle get deep

Ответ 4

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