Cambiar el brillo de la pantalla de manera eficiente

Necesito cambiar el brillo de la pantalla mediante programación. He leído varias soluciones como esta No se puede aplicar el brillo de la pantalla del sistema mediante programación en Android .

Mi problema es que esas soluciones implican cambiar la actividad para que sea eficaz (tener algo como una actividad ficticia terminando inmediatamente) y me gustaría evitar la sobrecarga de un interruptor de actividad.

¿Hay alguna otra solución … tal vez utilizando código nativo para que el brillo de la pantalla cambie de inmediato?

Lo siguiente afecta inmediatamente a la única actividad, sin necesidad de reiniciarla. La actividad también recuerda el atributo screenBrightness sobre pause / resume.

WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.screenBrightness = 1; // 0f - no backlight ... 1f - full backlight getWindow().setAttributes(lp); 

Pero no tiene efecto si tiene el nivel de retroiluminación automático activado en la configuración del sistema. Esta solución debería ayudar a desactivar la retroiluminación automática.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.