Убедитесь, что «Автояркость» не включена перед настройкой яркости экрана. Это можно сделать вручную в меню «Настройки»> «Дисплей» или с помощью кода, если вы используете Android 2.2 или более позднюю версию SDK.
Что-то вроде:
int brightnessMode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
}
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = 0.5F; // set 50% brightness
getWindow().setAttributes(layoutParams);
Убедитесь, что значение находится в диапазоне от 0,0F до 1,0F. Значение -1.0F использует яркость по умолчанию, сохраненную в настройках. В документации «Значение по умолчанию меньше 0 означает использование предпочтительной яркости экрана. От 0 до 1 регулирует яркость от темной до полной яркости».