Я использую этот код для изменения яркости активности, затемняя его.
WindowManager.LayoutParams layoutParameters = getWindow().getAttributes();
layoutParameters.screenBrightness = 0.0075f;
getWindow().setAttributes(layoutParameters);
Я также настраиваю яркость android.provider.Settings.System.
Моя проблема заключается в том, что после ~ 8 секунд бездействия яркость экрана возвращается к нормальной (то есть снова светится). Кто-нибудь знает, почему это происходит, и как я могу изменить эту настройку?
Спасибо!
Я не знаю, переоценил бы ваш layoutParameters, но, возможно, попробуйте использовать полный wakeLock, чтобы экран не менялся.
Вы должны изменить значение Settings.System.SCREEN_BRIGHTNESS_MODE с автоматического на ручное, а затем изменить значение int Settings.System.SCREEN_BRIGHTNESS. Добавляйте только эти строки кода:
Settings.System.putInt(getActivity().getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
Settings.System.putInt(getActivity().getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightness);//for persistent change