adb命令能否在安卓手机正常运行的情况下关闭其物理显示屏
实现方法
完全可以通过原生adb命令实现该效果,不需要依赖scrcpy工具,操作和原理如下:
方法1:模拟电源键触发关屏(无需root,适用全版本安卓)
这个方案操作最简单,关屏后系统所有进程、服务会保持正常运行:
- 首先设置adb连接状态下手机不锁屏(可选,如果需要避免关屏后触发锁屏验证可以先执行):
adb shell svc power stayon usb - 执行关屏命令:
adb shell input keyevent 26 - 如果后续需要重新点亮物理屏幕,再执行一次上面的keyevent命令即可。
注意:该方法和手动按电源键关屏逻辑完全一致,如果你的手机没有设置亮屏密码,或者已经提前解锁,关屏后不会影响adb调试、scrcpy投屏等操作的正常进行。
方法2:直接关闭显示输出(适用大部分安卓6及以上设备,部分高版本系统需要root权限)
这个方案就是scrcpy -S底层调用的核心逻辑,不会触发系统的锁屏逻辑,只是单纯切断物理屏幕的显示信号,手机所有功能完全正常运行:
- 关闭物理屏幕显示:
adb shell service call SurfaceFlinger 1008 i32 1 - 恢复物理屏幕显示:
adb shell service call SurfaceFlinger 1008 i32 0
scrcpy -S的补充说明
你提到的scrcpy -S命令本质就是在启动scrcpy投屏前自动调用了上述的显示关闭接口,同时保持投屏通道的画面输出正常,两种方案的实际效果完全一致。
内容的提问来源于stack exchange,提问作者Loc Huynh
相关产品推荐
相关产品推荐

