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

Включить экран на устройстве

Как включить sceen?

Я пробовал что-то вроде этого

adb -d  shell am broadcast -a android.intent.action.SCREEN_ON

Это действительно должно работать, я отправляю трансляцию, которую он получает системой, но экран не включается

Я не понимаю, в чем проблема, можно ли повернуть экран устройства по коду? Я имею в виду программное обеспечение? Потому что кажется, что включение экрана происходит только при нажатии кнопки аппаратного обеспечения., по крайней мере, я получил эту вырубку, я не прав?

4b9b3361

Ответ 1

Я мог ошибаться в этом, но...

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

Я думаю, что система отправляет "android.intent.action.SCREEN_ON", когда экран продолжается, но отправка "android.intent.action.SCREEN_ON" необязательно делает экран включенным.

Надеюсь, это имеет смысл.

Для ответа вы можете найти его в...

Ответ 2

adb shell input keyevent KEYCODE_POWER

Работает для включения экрана (когда дисплей выключен) Работает, чтобы отключить экран (когда дисплей включен/просыпается)

Ответ 3

Для Android 5.0 и выше:

adb shell input keyevent KEYCODE_WAKEUP

или же

adb shell input keyevent 224

Ссылка:

Просыпается устройство. Ведет себя как KEYCODE_POWER, но не работает, если устройство уже активировано.


Примечание. KEYCODE_POWER добавлен на уровне API 1, а KEYCODE_WAKEUP на уровне API 20!

Ответ 4

Вы можете включить/выключить его, если вам нравится:

adb shell
@shell: input keyevent 26
@shell: (enter or via hidden command empty line)
@shell: exit

это работало для меня на некоторых версиях Android;)
(ПРИМЕЧАНИЕ: это включит и выключит экран, зависит от фактического состояния экрана)

Для определения текущего состояния экрана вы можете использовать следующие способы:
Android <5.xx
adb shell dumpsys input_method
В выводе ищем mScreenOn=true/false

Android> = 5.xx
adb shell dumpsys display
В выходной поиск mScreenState=ON/OFF

В моих сценариях я использую это регулярное выражение \s{0,}mScreen(State|On)=(?<STATE>(true|false|on|off))\s{0,} (Compiled | IgnoreCase | ExplicitCapture) для оба выхода для определения текущего состояния.

РЕДАКТИРОВАТЬ (16.03.2018):

Существует также другой способ определения состояния экрана, он работает с Android 3.0. Команда dumpsys window policy даст нам все, что нам нужно. - В выводе ищите mScreenOn(Fully)?=(?<STATE>(true|false)). Есть и другая полезная информация, такая как:

  • mUnrestrictedScreen (значение равно: (0,0) 768x1280)
  • mRestrictedScreen (значение равно: (0,0) 768x1184)

С Уважением,

k1ll3r8e

Ответ 5

Команда для включения/выключения экрана:

adb shell input keyevent 26

Эта сжатая команда предпочтительнее, потому что она позволяет использовать ее в сценариях.

Ура!