Android 如何使用adb命令打开和关闭屏幕?

Android 如何使用adb命令打开和关闭屏幕?,android,adb,android-screen,Android,Adb,Android Screen,我正在使用KEYCODE_电源打开和关闭我的手机。bellow命令用于打开和关闭屏幕 adb shell input keyevent KEYCODE_POWER 但是,我想在不同的情况下使用它:打开和关闭。我有两个功能:打开和关闭功能。如果屏幕关闭,我调用打开功能,它将打开屏幕。如果屏幕已打开,则打开功能将不起任何作用。否则,如果屏幕打开,我将调用关闭功能,它将关闭 我试图检查屏幕状态,但效果不好。事实上,屏幕状态更新比手机处理速度慢。我也用其他的方法,但这些方法使屏幕在没有睡眠的情况下醒来

我正在使用KEYCODE_电源打开和关闭我的手机。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外壳输入键事件26

26-是设备上的keyevent代码电源按钮


您可以通过以下链接找到更多命令:

您可以编写一个脚本来控制屏幕的打开/关闭。以下是示例脚本代码:

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

它也关闭了……你能给我发命令响应吗。26是电源动作。当屏幕打开并按下电源按钮时,你们可以想象会发生什么。若我没弄错你们的问题。您希望在显示器上显示具有“打开”和“关闭”回调的侦听器。我听懂了吗@us@VovaStelmashchuk4年后回复:)这是完整的列表-或者-请使用搜索。这个问题在这里已经讨论过很多次了。mInteractive对我来说效果更好-mScreenOn在我的很多设备上都没有出现在android 10 always value=0上