本帖最后由 nuknoop 于 2023-10-8 23:33 编辑
在上回分享了“抛弃NodeRED,Python脚本自动化获取HASS门窗传感器,联动控制设备中控屏幕,开门亮屏,关门后15秒熄屏”
实际是有弊端:
一,需要SU权限
二,其次有些其他设备,例如车机或者安卓手机在或者中控这些都会熄屏之后后台程序会休眠
三,Python脚本的实现比较麻烦
四,我不想有这些操作,最好能直接接入NodeRed方便管理
那么有没有一种比较方便的控制屏幕开关呢?
有大佬说,可以利用ADB命令啊,但是要使用ADB命令关闭Android设备的屏幕,虽然可以使用以下命令:
adb shell input eyevent 26
这个命令会模拟按下电源按钮,将屏幕关闭。此命令会导致程序被休眠后期无法控制
所以,可以另辟蹊径,使用ADB远程控制软件中,有一项功能“熄灭屏幕后台运行程序”,这个功能的方法本身意图也是防止远程软件时候被人发现你的远程操作
那么骚操作来了,我们不需要直接安装完整apk,通过程序中的某一个DEX数据包就可以进行控制设备
方法只需要提取安装包中的DEX,通过ADB即可实现屏幕的假装熄屏方法,在NODE或者HASS中可以直接运行命令进行控制,也可以直接在设备中利用其他自动化软件进行开关方式
下载文件后,将文件提上传到这里/storage/emulated/0/Download/,之后就可以执行命令运行,基本上完美解决熄灭屏幕
|