Я пытаюсь выяснить, можно ли определить, включен ли экран на устройстве Android с помощью ADB. Мне нужно знать это для некоторых тестов, которые я пытаюсь запустить, используя бегун обезьян. Есть ли команда оболочки, которую я могу ввести и, следовательно, включить как часть команды бегуна обезьян, которая точно скажет мне, включен ли экран или выключен?
Как узнать, включен ли экран с помощью ADB
Ответы (2)
Проведя некоторое тестирование, я обнаружил, что использование adb shell dumpsys power | grep mScreenOn
будет работать на устройствах с номером версии 4.2+.
Команда, которая, как я обнаружил, работает на всех устройствах, которые я тестировал до сих пор, заключается в использовании:
adb shell dumpsys input_method | grep mScreenOn
который будет производить что-то вроде:
mSystemReady=true mScreenOn=true
который вы можете использовать, чтобы определить, включен ли экран.
Протестировано на всех эмуляторах Android в диапазоне 2.2–4.4.2, Samsung Galaxy SII (4.0.4), Samsung Galaxy Tab 8.9 (4.0.4) и Nexus 4 с CM11.
Также стоит упомянуть, что на устройствах до 4.2 вы можете использовать команду adb shell dumpsys power | grep mPowerState
, чтобы получить что-то вроде этого:
mIsPowered=true mPowerState=3 mScreenOffTime=24970 ms
mPowerState=SCREEN_BRIGHT_BIT SCREEN_ON_BIT
и определить, присутствует ли строка SCREEN_ON_BIT
mInteractive=true
, когда экран включен, или mInteractive=false
, когда он выключен; а вторая команда отвечает Display Power: state=ON
при включении и state=OFF
при выключенном экране.
- person Joe; 19.02.2015
dumpsys power
нет mScreenOn
. Но я вижу mWakefulness=Asleep
, когда экран телевизора выключен, и mWakefulness=Awake
, когда экран телевизора включен.
- person Simon Kissane; 31.01.2021
Да, если вы введете:
adb shell dumpsys power | grep mScreenOn
Это вернет истинное или ложное значение, указывающее, включен ли экран в данный момент. Это должно выглядеть так:
mScreenOn=true
Зная это, все, что вам нужно сделать, это проанализировать значение true/false из результата и передать команду оболочки в сценарий бегущего обезьяны.
Это было протестировано на устройстве Android с версией 4.4.2.