结合使用true和while读取init.d脚本来打开和关闭电话按键灯

时间:2018-07-31 22:31:21

标签: android init.d

我正在尝试制作一个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的线路将打开和关闭手机的按键灯

enter image description here

在图片中您可以看到我正在使用的第一个脚本,问题是如果我在5秒后刚触摸屏幕,按键灯将关闭一秒钟,例如,如果我正在键入,就会注意到这一点。因为在处理sleep 5时没有重新检查。

我想做的是,在触摸屏后,按键灯应打开5秒钟,如果在5秒钟内未触摸显示器5秒钟,则每次触摸时,按键灯应关闭。处理5秒超时应该重新启动,而不是像刚刚处理5秒的图片中的脚本那样重新开始;如果我在3秒内触摸屏幕,则5秒计时器将不会重置。

这就是为什么我尝试使用2个文件,希望每次我触摸并且将1个文件写入sleepstate文件时,将再次执行sleep 5计时器和打开键灯的操作。

0 个答案:

没有答案