【问题标题】:How to turn on and turn off screen with adb command? [duplicate]如何使用 adb 命令打开和关闭屏幕? [复制]
【发布时间】:2016-12-26 06:48:14
【问题描述】:

我正在使用 KEYCODE_POWER 打开和关闭我的已root 手机。波纹管命令用于打开和关闭屏幕两种情况。

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();

【问题讨论】:

  • 请使用搜索。这个话题已经在这里讨论过很多次了。

标签: android adb android-screen


【解决方案1】:

adb shell 输入keyevent 26

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

您可以通过链接找到更多命令:http://adbshell.com/commands

【讨论】:

  • 它也关闭了....
  • 你能给我发送命令响应吗?
  • 26 是强力动作。你可以想象当屏幕打开并按下电源按钮时会发生什么。
  • 如果我理解正确你的问题。您希望通过“打开”和“关闭”回调在显示器上显示监听器。我理解你了吗? @我们
  • @VovaStelmashchuk 4 年后回复 :) 这是完整列表 - developer.zebra.com/community/home/blog/2015/03/09/… 或 - stackoverflow.com/a/8483797/4206951
【解决方案2】:

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

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

【讨论】:

  • mInteractive 对我来说效果更好 - mScreenOn 并没有出现在我的很多设备上
  • 对于 android 10 总是值 = 0
  • 这里是单行版本:(dumpsys power | grep mWakefulness=Awake > /dev/null) && input keyevent 26
猜你喜欢
  • 2015-08-04
  • 2015-07-26
  • 2016-12-23
  • 1970-01-01
  • 2012-10-11
  • 1970-01-01
  • 2017-08-15
  • 1970-01-01
  • 2017-12-10
相关资源
最近更新 更多