Как правильно затемнить экран? - PullRequest
3 голосов
/ 16 августа 2010

Я уже видел 2 метода в моем поиске, с обоими из которых у меня проблемы.

Способ 1)

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 100);

Метод 2)

IHardwareService hardware = IHardwareService.Stub.asInterface(ServiceManager.getService("hardware"));
hardware.setScreenBacklight(.5);

Какой из этих методов является правильным? Или есть другой, который я должен использовать?

Спасибо

Ответы [ 2 ]

5 голосов
/ 13 марта 2011

Я использую код ниже, чтобы сделать то же самое

WindowManager.LayoutParams WMLP = getWindow().getAttributes();
WMLP.screenBrightness = 0.15F;
getWindow().setAttributes(WMLP);

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

Edit: Я забыл упомянуть, что диапазон атрибута screenBrightness составляет 0,0 - 1,0

0 голосов
/ 22 июня 2015

android.provider.Settings.System.putInt (getContentResolver (), Settings.System.DIM_SCREEN, время); где время в миллисекундах. но эта настройка. System.DIM_SCREEN запрещена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...