2017-02-12 2 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 в приложении, я могу изменить файл. Но я хочу сделать то же самое без разрешения суперпользователя. Есть ли какое-то разрешение, позволяющее мне изменить файл?

Каковы возможные способы изменения файла/sys без прав root?

ответ

0

Для изменения яркости экрана вам не требуются разрешения пользователя. Просто сделайте это:

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

Переменная BackLightValue используется для настройки яркости для авто, но вы можете изменить его на то, что вам нужно

+0

Спасибо. Это работает только в приложении, я думаю, мне нужно настроить 'onPause()' и другие методы, чтобы сделать его общесистемным. Кроме того, кажется, что переменная 'BackLightValue' имеет тип float. Я проверил только случайные значения. И как я могу использовать 1 - 255 целых значений в float? –

Смежные вопросы