我需要在我的脚本中知道设备的屏幕是否关闭。是否有使用ADB获取此类信息的简单命令?
dumpsys power | grep mScreenOn
在5.0上,看起来你需要对dumpsys power
输出执行grep操作。
Display Power: state=OFF
或者Display Power: state=ON
adb shell dumpsys deviceidle | grep mScreenOn
产出,
mScreenOn=false
当屏幕被“锁定”时,无论是空白还是有内容,与此相反的是,
adb shell dumpsys window | grep mScreenOn
收益率,
mScreenOnEarly=false mScreenOnFully=false
仅当屏幕不显示时间等信息时才需要进行操作。
使用dumpsys deviceidle命令,以了解是否需要解锁屏幕以允许用户进行交互。
adb shell dumpsys display | grep mScreenState
输出:
mScreenState=OFF
XiaoMi 9
10
mHoldingDisplaySuspendBlocker
adb shell dumpsys power | grep mHoldingDisplaySuspendBlocker
mHoldingDisplaySuspendBlocker=false
-> 屏幕关闭mHoldingDisplaySuspendBlocker=true
-> 屏幕打开mWakefulness
adb shell dumpsys power | grep mWakefulness=
mWakefulness=Dozing
-> 屏幕关闭mWakefulness=Awake
-> 屏幕打开nfc
(如果Android有NFC模块)adb shell dumpsys nfc | grep mScreenState=
mScreenState=OFF_LOCKED
-> 屏幕关闭(并锁定)mScreenState=ON_XXX
-> 屏幕打开
mScreenState=ON_LOCKED
-> 屏幕打开(并已锁定)mScreenState=ON_UNLOCKED
-> 屏幕打开(并已解锁)service call
adb shell service call power 12
结果: Parcel(00000000 00000000 '........')
-> 0
表示屏幕关闭结果: Parcel(00000000 00000001 '........')
-> 1
表示屏幕打开