【问题标题】:Can android app write to /sys/ without root permissions?android 应用程序可以在没有 root 权限的情况下写入 /sys/ 吗?
【发布时间】:2017-06-30 19:13:33
【问题描述】:

即使设置为最低,我手机的显示屏背光也会在黑暗中伤害我。我检查了文件 /sys/class/leds/lcd-backlight/brightness 的有效值范围,发现它需要 0 - 255 。 0 为关闭显示,1 为最小亮度,255 为最大亮度。

android 系统显示设置设置为最小值时会将 sys 文件值设置为 5,这会在黑暗中伤害我的眼睛。我从根终端呼应了值 1,它将亮度设置为使我的眼睛在黑暗中舒适的最低值。

sys文件归用户system和组system所有,权限为-rw-r--r--

我需要我的应用程序写入/sys/class/leds/lcd-backlight/brightness 以将显示亮度设置为非常小的值。如果我在应用程序中使用su 命令,我可以修改文件。但我想在没有超级用户许可的情况下做同样的事情。是否有某种允许我修改文件的权限?

在没有root权限的情况下修改/sys文件有哪些可能的方法?

【问题讨论】:

    标签: android permissions file-permissions user-permissions


    【解决方案1】:

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

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

    变量BackLightValue 用于将亮度设置为自动,但您可以将其更改为您需要的任何值

    【讨论】:

    • 谢谢。这仅适用于应用程序,我想我需要设置 onPause() 和其他方法以使其成为 system-wide 。此外,BackLightValue 变量似乎是浮点类型。我只检查了随机值。以及如何在浮点数中使用 1 - 255 个整数值?
    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 2021-03-24
    • 1970-01-01
    • 2013-04-16
    • 2013-08-22
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    相关资源
    最近更新 更多