Connect with us

Разработка

Как повысить яркость экрана в Android-приложении без запроса разрешения

Я хотел сделать экран в своем приложении ярче, но во всех статьях говорилось, что для этого нужны разрешения Android. Неправда!

Фото аватара

Опубликовано

/

     
     

Я хотел сделать экран в своем приложении ярче, но во всех статьях говорилось, что для этого нужны разрешения Android. Неправда! Вот как это можно реализовать.

Повышение яркости экрана нужна мне для того, чтобы QR-коды имели наибольшие шансы на успешное сканирование (даже когда люди отклонили запрос на разрешение). Установив яркость на полную, вы получите максимальный контраст для читаемости QR-кода.

Возможно, мои знания не соответствуют действительности, но во всех статьях, которые я нашел, говорилось, что для увеличения яркости необходимо получить разрешение Android.

Я постоянно в ответах натыкался на android.permission.WRITE_SETTINGS, что имеет смысл, если вы хотите изменить яркость и для своей системы, но если вы хотите просто временно и программно настроить яркость для своей собственной Активити, этого лучше избегать.

Вот как это сделать:

window.attributes = window.attributes.also { 
    it.screenBrightness = 1f 
}

Эта функция принимает float значение в диапазоне 0 — 1. При этом 1 означает максимальную яркость.

Окно берется из контекста Activity, так что вы можете сделать это в onCreate или в любом другом месте, где у вас есть контекст, связанный с Активити.

Яркость сброситься сама, когда ваша Активити перестанет быть видимой.

Вот официальная документация. И константа, если она вам нужна для BRIGHTNESS_OVERRIDE_FULL.

Это значение может быть использовано для переопределения предпочтительной яркости экрана. Значение меньше 0, установленное по умолчанию, означает использование предпочтительной яркости экрана. От 0 до 1 регулирует яркость от темного до полностью яркого.

Вот и все! Легко 🙂 .

Спасибо Эду Холлоуэю-Джорджу за эту статью — когда знаешь, то знаешь!

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement

Наши партнеры:

LEGALBET

Мобильные приложения для ставок на спорт
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: