Android set display brightness

Экран

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

Настройки — Экран

Чтобы показать окно Экран из системного приложения Настройки:

Размеры экрана и его ориентация (Старый и новый способ)

Чтобы узнать размеры экрана и его ориентацию из запущенного приложения, можно воспользоваться встроенными классами Android.

Данный способ был опубликован в те времена, когда у меня был Android 2.3. Читатели подсказали, что теперь методы считаются устаревшими (API 13 и выше). Пришлось переписывать код. Впрочем, спустя некоторое время и этот код стал считаться устаревшим.

Ориентацию при помощи нового метода не узнаешь. Помните, что это размеры экрана устройства, а не экрана вашего приложения. Кроме того, в документации как-то туманно описывается точность вычислений этих размеров. Никому верить нельзя.

Плотность экрана, масштабирование шрифта и др.

Существует класс DisplayMetrics, также имеющий в своём составе свойства для экрана. Пример также пришлось переписывать после выхода Android 11 (API 30), который теперь тоже устаревший:

Вот ещё несколько способов определения размеров:

Такой же код, но с использованием дополнительной константы SCREENLAYOUT_SIZE_MASK:

На Kotlin в виде отдельной функции.

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

Получить текущее значение яркости экрана

В настройках экрана можно установить желаемую яркость экрана при помощи ползунка, но при этом мы не знаем, сколько это в попугаях. Я открою вам секрет при помощи простого кода:

Установить яркость экрана

Если можно получить значение текущей яркости экрана, значит можно и установить яркость. Для начала нужно установить разрешение на изменение настроек в манифесте:

Для настройки яркости нужно использовать параметр System.SCREEN_BRIGHTNESS. Добавим на форму кнопку, метку и ползунок. Код для установки яркости:

Проверил старый пример времён Android 2.2 на эмуляторе с Android 10. Правила ужесточились. Теперь разрешение на изменение системных настроек выдаются только системным программам. Пока ещё есть лазейка, которой и воспользуемся. Новый пример написан на Kotlin. Добавим в манифест немного модифицированное разрешение.

Далее программа должна проверить возможность изменять системные настройки через метод canWrite(). Если такая возможность есть, то запрашиваем разрешение. Появится специальное окно, в котором пользователь должен подтвердить своё решение через переключатель. После этого нужно заново запустить программу, чтобы ползунок стал доступен. Теперь можете менять настройки.

Настраиваем яркость экрана в своём приложении

Существует возможность переопределить яркость экрана в пределах своего приложения. Я не смог придумать, где можно найти практическое применение, но вдруг вам пригодится. Для управления яркостью экрана воспользуемся элементом SeekBar.

За яркость экрана отвечает свойство LayoutParams.screenBrightness:

Интересно, что когда выводил ползунок в значение 0, то эмулятор зависал с экраном блокировки. Вам следует учесть эту ситуацию и добавить условие:

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

Читайте также:  Скрипт для запуска андроид

Определение поддерживаемых экранных размеров в манифесте

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

В данном примере приводится поддержка нормальных и больших экранов. Маленьким экраном можно назвать любой дисплей с разрешением меньше, чем HVGA. Под большим экраном подразумевается такой, который значительно больше, чем у смартфона (например, у планшетов). Экран нормальных размеров имеет большинство смартфонов.

Атрибут anyDensity говорит о том, каким образом ваше приложение будет масштабироваться при отображении на устройствах с разной плотностью пикселов. Если вы учитываете это свойство экрана в своем интерфейсе, установите этому атрибуту значение true. При значении false Android будет использовать режим совместимости, пытаясь корректно масштабировать пользовательский интерфейс приложения. Как правило, это снижает качество изображения и приводит к артефактам при масштабировании. Для приложений, собранных с помощью SDK с API level 4 и выше, этот атрибут по умолчанию имеет значение true.

Размеры картинок для фона экрана

Если вы используете изображение в качестве фона, то нет смысла выводить очень большую картинку на устройстве с маленьким экраном. Можно подготовить разные размеры.

res/drawable-ldpi — 240×320
res/drawable-mdpi — 320×480
res/drawable-hdpi — 480×800
res/drawable-xhdpi — 640×960
res/drawable-xxhdpi — 960×1440
res/drawable-tvdpi — 1.33 * mdpi

Источник

How to Maximize/Minimize Screen Brightness Programmatically in Android?

Screen brightness is one such factor that directly affects the users as well as the battery on a device. Android devices are Smart systems and have an inbuilt system for Auto-Brightness. But mostly this feature is unchecked by the users or set off by default. Irrespective of whether this feature is present, set on or off, or absent in any device, a developer must take this opportunity into consideration and develop an optimized application. Anything that is declared inside the application might have an effect on the outside space, i.e., if the screen brightness was changed programmatically from an application, the brightness value might stay unaltered even after exiting the application. So one must try to trace back the originals and set them before a user exits.

Where can we use this feature?

  1. Applications Streaming Videos: Each frame could be analyzed and compared with the ambient light of the room and accordingly make changes while viewing it to the users.
  2. Low Battery Situations: Brightness can be set at a low value if the battery level is low.
  3. If the screen is inactive or unresponded: If the screen is inactive or unresponded, the brightness could be lowered after a specific time-out.

A sample GIF is given below to get an idea about what we are going to do in this article . Note that we are going to implement this project using the Kotlin language.

Approach

Step 1: Create a New Project

To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio. Note that select Kotlin as the programming language.

Источник

Android: Set custom brightness & screen timeout for individual apps

There are several reasons why you may want to change the display brightness of your Android device. One is to save battery, as a darker screen requires less juice than a screen running as bright as the light of the sun.

There are other options, for instance if an app or game is very dark so that you need to increase the brightness on the phone to use it properly. Or, the other way round, that you want the screen brightness to be lower when you are using your phone late at night.

Читайте также:  Узнать пароль инстаграм андроид

While you can make brightness changes whenever the need arises, it is not really something that is that comfortable. Imagine having to tweak the brightness setting each night, and then again in the morning. Something like this is an ideal scenario where optimization may make things more comfortable.

Update: Screen Controls is no longer available on Google Play. You can try Brightness Control instead which allows you to set different brightness levels for individual applications as well.

Screen Controls for Android

Screen Controls for Android is available as a free and paid version. The application is compatible with all versions of Android from 3.0 on.

The two core features that it makes available are to set a custom display brightness for individual apps that you run on your phone or tablet, and to set a custom screen time out for apps as well.

Lets say you watch videos using the YouTube app before you go to bed. To prepare for the night, you prefer the screen brightness to be not as bright as the default brightness. So, you select the YouTube application from the list of apps, and change the screen brightness level of it using the slider.

The screen timeout settings can be customized for each app in the same fashion. This may be useful for apps that you want to run in the background, like a music app for example. Once it starts to play a playlist, there is no real need for the screen to remain active anymore.

The program lists all apps by default. This is a large list, as system apps are included. If you are looking for a particular application, use the search to find it. If the app is running, you can alternatively switch to the running apps tab. The favorites tap lists apps that you open regularly on the device.

Besides options to set a custom screen brightness or custom screen timeouts for individual apps, it is also possible to change the global values using the app. To do so tap on the settings icon in the apps’ interface.

Here you get the same configuration options, only that the settings here are valid for all apps that are not using customized values.

Free. vs. Paid

The difference between the free and paid version is that the paid version comes without ads, while the free version displays them at the bottom of the screen.

Verdict

The application provides you with better control over the device’s screen brightness and timeouts. While it takes a minute or so to configure the brightness level and timeouts for individual apps, it is a one-time operation that saves you a lot of time in the long run.

Источник

Android set display brightness

Знаете ли вы, что длительное использование смартфонов может вызвать серьезные проблемы со здоровьем? Яркие экраны смартфонов напрямую влияют на здоровье глаз, поэтому при просмотре фильмов, особенно ночью, у нас часто возникают головные боли и боли в глазах. Однако для решения проблем со зрением в магазине Google Play доступно множество приложений с фильтрами синего света.

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

1. Screen Filter

Ищете приложение для уменьшения яркости экрана Android ниже минимального предела? Тогда рекомендуем попробовать Screen Filter. Screen Filter – это простое приложение для Android, которое применяет оттенок, чтобы ваши глаза не болели. Приложение также предлагает виджет, который позволяет быстро получить доступ к настройкам яркости.

Читайте также:  Отладка android с компьютера

2. Dimglo

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

3. Dimmer

Dimmer – еще одно отличное приложение для Android в списке, которое может помочь вам защитить глаза в темноте. Приложение простое, интуитивно понятное, полезное и позволяет пользователям снизить яркость экрана ниже минимального предела. Что делает приложение более впечатляющим, так это его способность автоматически уменьшать и увеличивать яркость экрана в зависимости от окружающей среды.

4. Darker (Screen Filter)

Darker (Screen Filter) немного отличается от других подобных приложений. Darker (Screen Filter) может снизить яркость экрана до минимального уровня, чтобы не утомлять глаза, особенно ночью. Кроме того, приложение имеет встроенный цветной фильтр для регулировки интенсивности цвета. Это означает, что вы также можете использовать приложение для фильтрации синего света.

Если экран вашего телефона кажется ярким даже при самых низких настройках яркости, вам нужно попробовать EasyEyes. EasyEyes – одно из лучших и популярных приложений для регулировки яркости экрана, доступное для операционной системы Android. EasyEyes позволяет пользователям настраивать профили для автоматического включения и выключения приложения. Кроме того, приложение также позволяет пользователям настраивать цветовую температуру устройства.

6. Night Owl

Night Owl, вероятно, лучшее Android-приложение для регулировки яркости экрана, которое вы можете использовать на своем устройстве. Приложение создано для тех, у кого проблемы со сном после долгого просмотра экрана телефона. Приложение эффективно фильтрует синий свет, излучаемый экраном смартфона. Кроме того, Night Owl позволяет снизить яркость экрана ниже, чем при настройках по умолчанию.

7. Brightness Control & Dimmer

Brightness Control & Dimmer – это бесплатное приложение-виджет для Android, которое предоставляет пользователям настраиваемые уровни яркости. С помощью приложения вы можете уменьшить минимальный уровень яркости вашей системы. Что еще более полезно, так это то, что Brightness Control & Dimmer также добавляет элементы управления яркостью на панель уведомлений, позволяя пользователям быстро управлять яркостью, даже во время игры.

8. Фильтр синего света

Android-приложение «Фильтр синего света» предназначено для тех, у кого проблемы со сном после вечернего просмотра экрана телефона. Хотя приложение предназначено для уменьшения синего света, излучаемого экраном вашего смартфона, оно может затемнять экран Android. Самое замечательное в приложении то, что оно позволяет пользователям регулировать интенсивность фильтра в соответствии с потребностями.

CF.lumen – одно из лучших и популярных приложений для ухода за глазами, которое вы можете использовать на своем смартфоне Android. Самое лучшее в CF.lumen – это то, что оно автоматически адаптируется к цветам на вашем Android-устройстве в зависимости от освещения. Пользователи также могут установить свою собственную конфигурацию. Таким образом, приложение автоматически затемняет экран смартфона ночью.

10. Lux Lite

Если вы ищете приложение для Android, которое поможет вам регулировать температуру экрана, Lux Lite может быть лучшим выбором. Прямо как CF. Lumen, Lux Lite также адаптируется к цветам вашего устройства Android в зависимости от освещенности. Приложение также предлагает несколько готовых цветовых профилей. Ночью вы можете переключить Lux Lite на ночной профиль, чтобы не утомлять глаза.

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

Источник

Оцените статью