我正在使用keyocode_power打开并关闭扎根手机。在两种情况下都使用Bellow命令打开并关闭屏幕。
adb shell input keyevent KEYCODE_POWER
但是,我想在分开的情况下使用它:打开并关闭。我有两个功能:打开并关闭功能。如果屏幕关闭,我将打开打开功能,它将打开屏幕。如果屏幕已经打开,则打开功能将无能为力。否则,如果屏幕打开,我将调用关闭功能,并将关闭。
我试图检查屏幕状态,但效果不佳。实际上,屏幕状态更新与手机处理的比较很慢。我也使用其他方式,但是这些方式使屏幕唤醒不睡觉。
final Window win = getWindow();
win.addFlags( WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON );
第二路:
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "tag");
wl.acquire();
adb shell input keyevent 26
26-是设备上的KeyEvent代码电源按钮。
您可以通过链接找到更多命令:http://adbshell.com/commands
您可以编写脚本以控制屏幕上/关闭。这是示例脚本代码:
result="$(adb shell dumpsys input_method | grep -c "mScreenOn=true")"
if [ "$result" == 1 ]; then
echo "Screen is already on."
else
echo "Turning screen on."
adb shell input keyevent 26
fi