如何判断ADB是否启用了屏幕

时间:2014-01-28 14:58:23

标签: android testing adb monkeyrunner

我正在寻找是否可以确定屏幕是否在使用ADB的Android设备上打开。我需要知道一些我试图使用猴子跑步者进行的测试。是否有我可以输入的shell命令,因此包括作为猴子跑步者命令的一部分,它将明确地告诉我屏幕是打开还是关闭?

2 个答案:

答案 0 :(得分:9)

在进行一些测试时,我发现使用adb shell dumpsys power | grep mScreenOn将适用于版本号为4.2 +的设备

我发现在目前为止测试过的所有设备上使用的命令是:

 adb shell dumpsys input_method | grep mScreenOn

会产生类似的东西:

mSystemReady=true mScreenOn=true

可用于确定屏幕是否已开启。

在2.2 - 4.4.2,三星Galaxy SII(4.0.4),三星Galaxy Tab 8.9(4.0.4)和带CM11的Nexus 4的所有Android仿真器上进行了测试

另外值得一提的是,在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字符串

答案 1 :(得分:4)

是的,如果您输入:

 adb shell dumpsys power | grep mScreenOn

这将返回一个true或false值,告诉您屏幕当前是否打开。它应该是这样的:

mScreenOn=true

了解这一点,您需要做的就是从结果中解析true / false值,并将shell命令提供给Monkey runner脚本。

这是在运行4.4.2的Android设备上测试的。