Как имитировать спящий режим на эмуляторе Android

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

Я хотел бы проверить эту проблему на виртуальном устройстве Android. Можно ли имитировать переход мобильного телефона в спящий режим/режим энергосбережения на AVD?

Заранее спасибо.


person Arnaud    schedule 07.05.2012    source источник
comment
Я рассмотрел этот другой вопрос но ответы, кажется, касаются блокировки телефона - я хотел бы переключить его в спящий режим.   -  person Arnaud    schedule 07.05.2012
comment
нажмите ‹kbd›F7‹/kbd› stackoverflow.com/questions/4411369/   -  person Eng. Samer T    schedule 25.09.2014


Ответы (7)


Попробуйте следующее на эмуляторе

  1. Go to Settings
  2. Go to Developer options
  3. Снимите флажок Stay awake (3-й вариант сверху)

Эмулятор перейдет в спящий режим через 1 минуту (настройка по умолчанию), если его не изменить.

Нажмите кнопку питания введите здесь описание изображения, чтобы разбудить эмулятор.

Developer options не включен по умолчанию, чтобы включить его, сделайте следующее:

  1. Go to Settings
  2. Нажмите About emulated device
  3. Нажмите Build number 7 раз, вы должны быть уведомлены о том, что Developer options теперь включено
  4. Вернитесь, и вы должны увидеть Developer options
person Prabhakar    schedule 23.08.2013
comment
Если эта опция не появляется, вы должны включить режим разработчика, 1. зайдите в настройки -> Система -> Об эмулируемом устройстве 2. нажмите 7 раз на номер сборки Затем вы найдете его в параметрах разработчика - person Kurt Huwig; 31.01.2017
comment
@KurtHuwig, вы имеете в виду использование апплета настроек Adnroid или использование ... на боковой панели разработчика рядом с эмулируемым телефоном на моем ПК? Я не могу найти, как включить параметры разработчика в эмуляторе. - person Pete Alvin; 12.12.2019
comment
@PeteAlvin — апплет настроек Android внутри эмулируемого телефона. Инструкции по его включению даны во второй половине ответа. (Это то же самое, что и на любом реальном телефоне Android.) - person ToolmakerSteve; 11.05.2020
comment
На более новых телефонах после включения параметров разработчика они находятся в разделе «Настройки» / «Система» / «Дополнительно» / «Параметры разработчика». ОДНАКО см. другие ответы: вам не нужно делать ничего, показанного в этом ответе; просто нажмите эмулированную кнопку питания, чтобы выключить экран (как на реальном телефоне)! - person ToolmakerSteve; 11.05.2020
comment
Это только для сна экрана или для реального глубокого сна (режим дремоты)? Я считаю, что сон экрана сам по себе не вызовет большинство ошибок, связанных со сном, потому что это глубокий сон, который может перевести ваше приложение в спящий режим или даже закрыть его, а также остановить фоновые процессы вашего приложения, если оно не реализовано правильно. - person JustAMartin; 17.07.2020

В эмуляторе выберите «Настройки/Безопасность/Блокировка экрана» и измените «Нет» на «Пролистывание» введите здесь описание изображения

Затем нажмите кнопку питания на правой панели управления, чтобы выключить экран, и нажмите еще раз, чтобы включить экран. Теперь появится экран блокировки. введите описание изображения здесь

person thanhbinh84    schedule 04.06.2017

Это сделает Power Button на боковой панели рядом с эмулятором.

Горячая клавиша на моем Mac — ⌘ P

Примечание. Вам нужно будет установить блокировку экрана с помощью смахивания вместо "Нет"

person user1884811    schedule 19.10.2016
comment
Вы можете использовать ⌘ P, чтобы разблокировать его снова. - person zoecarver; 07.11.2017

Чтобы перевести устройство в спящий режим с помощью командной строки, запустите: adb shell input keyevent 223

Чтобы вывести устройство из спящего режима с помощью командной строки, запустите: adb shell input keyevent 224

Для получения дополнительной информации о ключевых событиях, которые вы можете отправлять с помощью ADB, ознакомьтесь с KEYCODE_... константами для KeyEvent< /а>, например:

/** Key code constant: Sleep key.
 * Puts the device to sleep.  Behaves somewhat like {@link #KEYCODE_POWER} but it
 * has no effect if the device is already asleep. */
public static final int KEYCODE_SLEEP           = 223;

/** Key code constant: Wakeup key.
 * Wakes up the device.  Behaves somewhat like {@link #KEYCODE_POWER} but it
 * has no effect if the device is already awake. */
public static final int KEYCODE_WAKEUP          = 224;
person Jeff McKnight    schedule 25.02.2019

Почему-то Fn + F7 не работает на моем Mac. Итак, что я использую вместо этого:

adb shell input keyevent 26

Это отправит событие POWER KEY и выключит экран. Примечание. Не будет отображаться, что экран выключен. Изображение завещает тай. Но вы не можете взаимодействовать с ним. Как только вы сделаете adb shell input keyevent 26 еще раз, вы увидите экран блокировки, указывающий, что устройство было выключено до этого.

person Patrick Boos    schedule 21.10.2015

Нажав F7, вы можете эмулировать спящий режим в своем эмуляторе.

person neferpitou    schedule 11.07.2015

Это то, что мне пригодилось, когда я тестировал, выключается ли экран эмулятора при воспроизведении видео.

Go to Settings -> Display -> Screen timeout

Выбор одного из параметров в Screen timeout позволит вам изменить время, необходимое эмулятору для перехода в спящий режим.

person Anne    schedule 16.05.2021