2017-02-12 107 views
0

即使设置为最小,我手机的显示屏背光也会在黑暗中伤害到我。我检查了文件/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文件的可能方法是什么?

回答

0

您不需要用户权限即可更改屏幕的亮度。只是这样做:

WindowManager.LayoutParams 
layoutParams = getWindow().getAttributes(); 
layoutParams.screenBrightness = BackLightValue; 
getWindow().setAttributes(layoutParams); 

变量BackLightValue用于设置亮度,自动,但你可以改变它到任何你需要

+0

谢谢。这只适用于应用程序内,我想我需要设置'onPause()'和其他方法来使其在整个系统范围内。此外,似乎'BackLightValue'变量的类型为float。我只检查随机值。我该如何在float中使用1 - 255个整数值? –

相关问题