android应用可以写入/ sys /没有root权限吗?
问题描述:
即使设置为最小,我手机的显示屏背光也会在黑暗中伤害到我。我检查了文件/sys/class/leds/lcd-backlight/brightness
的有效值范围,发现它需要0-255。 0显示关闭,1是最小亮度,255是最大亮度。android应用可以写入/ sys /没有root权限吗?
当android系统显示设置为最小时,将sys文件的值设置为5,这会在黑暗中伤害我的眼睛。我回应根终端的值1,它将亮度设置为最低值,这使得我的眼睛在黑暗中变得舒适。
sys文件由用户system
和组system
拥有,其权限为-rw-r--r--
。
我需要我的应用程序写入/sys/class/leds/lcd-backlight/brightness
将显示器亮度设置为非常小的值。如果我在应用程序中使用su
命令,我可以修改该文件。但是我想在没有超级用户权限的情况下做同样的事情。是否有某种允许我修改文件的权限?
有没有root权限修改/ sys文件的可能方法是什么?
答
您不需要用户权限即可更改屏幕的亮度。只是这样做:
WindowManager.LayoutParams
layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = BackLightValue;
getWindow().setAttributes(layoutParams);
变量BackLightValue
用于设置亮度,自动,但你可以改变它到任何你需要
谢谢。这只适用于应用程序内,我想我需要设置'onPause()'和其他方法来使其在整个系统范围内。此外,似乎'BackLightValue'变量的类型为float。我只检查随机值。我该如何在float中使用1 - 255个整数值? –