我有一台已Root的安卓设备。我想在预定时间将其屏幕关闭。
如何在程序中设置屏幕关闭?是否可以使用Linux命令实现?
谢谢!
我有一台已Root的安卓设备。我想在预定时间将其屏幕关闭。
如何在程序中设置屏幕关闭?是否可以使用Linux命令实现?
谢谢!
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
从您的函数/方法运行上述命令: 通过Android应用程序执行ADB命令。
此过程也适用于非root设备。
对于像我一样遇到同样问题的人:我在我的MTK设备上找到了以下代码来关闭屏幕,因为keyevent 26
在我的设备上无法使用:
adb shell input keyevent 6
也可以关闭设备屏幕。要打开设备屏幕,您可以使用keyevent 26
。
查找适用于您的设备的哪个keyevent的最佳方法是使用类似于此的小型bash脚本:
#!/bin/bash while do count=$(( $count+1 )) input keyevent $count echo "input keyevent $count" sleep 1 done
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"