有时我会在 Android 设备(植根于 Android 10 的 OnePlus 6)上运行服务器应用程序,但似乎大多数应用程序仅在屏幕打开时运行,这比后台服务更耗电。 我知道 scrcpy 是一个 adb 支持的应用程序,它允许通过 USB 或 Wifi 从计算机控制设备,并且“虚拟屏幕”(即在计算机上的 scrcpy 应用程序中显示)已打开,但物理屏幕已关闭。而且这个应用程序不使用root,所以应该是可以的。 他们是怎么做到的?
scrcpy --stay-awake --turn-screen-off >& /dev/null & exit
scrcpy 作者在这里解释了:
关于 scrcpy 工具如何在屏幕关闭的情况下控制手机的问题 · Issue #2888 · Genymobile/scrcpy · GitHub
这里。setDisplayPowerMode()
从 shell 执行此类 Java 代码:
- https://blog.rom1v.com/2018/03/introducing-scrcpy/#run-a-java-main-on-android
- https://github.com/Genymobile/scrcpy/blob/master/DEVELOP.md#privileges
据我所知,只有通过
才能关闭屏幕。adb
在我的 Galaxy 上,我使用以下命令启动
scrcpy
:
scrcpy --tcpip="[DEVICE IP]" --stay-awake
DEVICE IP是Android设备的IP。
每当屏幕变黑时,我都会输入 Android PIN(数字,然后在笔记本电脑上按 ENTER)来解锁设备。