我有一个root用户设备。我希望在预定的时间关闭它。
如何以编程方式设置屏幕? 我们可以使用Linux命令吗?
感谢。
答案 0 :(得分:5)
您可以使用adb shell input keyevent
用法:
adb shell input keyevent [--longpress] <key code number or name>
要关闭屏幕,请使用键码
26 --> "KEYCODE_POWER"`
从提示符处运行:
root@user:/$ adb shell input keyevent 26
或者这个,
root@user:/$ adb shell input keyevent KEYCODE_POWER
从您的函数/方法运行以上命令: Execute ADB Command through Android Application
此过程也适用于非root设备。
答案 1 :(得分:0)
对于那些像我这样的问题:我在MTK设备上发现以下代码以关闭屏幕,因为Sub propercase_test()
Dim LCRange As Range
With Sheets("Profitability")
LCLastRow = .Range("V" & .Rows.Count).End(xlUp).Row
Set LCRange = Range("V" & LCLastRow)
End With
For Each Rng In Range(LCRange)
Rng.Value = Application.WorksheetFunction.Proper(Rng.Value)
Next Rng
End Sub
在我的设备上不起作用:
adb shell输入keyevent 6
也将关闭设备屏幕。要打开设备屏幕,请使用keyevent 26
。
找出一个适用于您设备的按键事件的最佳方法是使用一个小型bash脚本,如下所示:
#!/bin/bash while do count=$(( $count+1 )) input keyevent $count echo "input keyevent $count" sleep 1 done
答案 2 :(得分:0)
sleeping="$(adb shell dumpsys power | grep 'mWakefulness=')"
screen="$(adb shell dumpsys nfc| grep 'mScreenState=')"
case "$screen" in
"mScreenState=OFF")
echo "* Device is not unlocked."
;;
"mScreenState=ON_LOCKED")
echo "* Device is not unlocked."
sleep 0
exit ;;
"mScreenState=ON_UNLOCKED")
echo "* Locking screen.."
adb shell input keyevent 26
echo "* Screen turned off"
exit
esac
echo -e "$basename$0: internal error -- can't lock screen since it's not unlocked"