我正在尝试制作一个init.d
脚本
到目前为止,我已经知道了:
while true
do
if dumpsys input | grep "Last Raw Touch: pointerCount=1"; then echo '1' > /storage/emulated/0/sleepstate
else
echo '0' > /storage/emulated/0/sleepstate
fi
done
如果我触摸Android设备的屏幕,则文件sleepstate将被写入数字1。如果我不触摸屏幕,则将写入0。
这将是file #1
file #2
将是
while true
do
if "reading the file sleepstate will show '1'"; then
echo '1' > /sys/devices/soc/leds-qpnp-9/leds/button-backlight/brightness
sleep 5
else
If "reading the file sleepstate will show '0'"; then
echo '0' > /sys/devices/soc/leds-qpnp-9/leds/button-backlight/brightness
fi
done
file #2
的线路将打开和关闭手机的按键灯
在图片中您可以看到我正在使用的第一个脚本,问题是如果我在5秒后刚触摸屏幕,按键灯将关闭一秒钟,例如,如果我正在键入,就会注意到这一点。因为在处理sleep 5时没有重新检查。
我想做的是,在触摸屏后,按键灯应打开5秒钟,如果在5秒钟内未触摸显示器5秒钟,则每次触摸时,按键灯应关闭。处理5秒超时应该重新启动,而不是像刚刚处理5秒的图片中的脚本那样重新开始;如果我在3秒内触摸屏幕,则5秒计时器将不会重置。
这就是为什么我尝试使用2个文件,希望每次我触摸并且将1个文件写入sleepstate文件时,将再次执行sleep 5计时器和打开键灯的操作。