Cambiar el brillo de la pantalla mediante programación en Android

Quiero cambiar el brillo de la pantalla mediante programación en Android. En este momento uso este código:

WindowManager.LayoutParams lp = getWindow().getAttributes();
float brightness=1.0f;
lp.screenBrightness = brightness;
getWindow().setAttributes(lp);

Pero este código de muestra funciona en cupcake, no en las últimas versiones. Estoy usando la última versión del SDK. ¿Cuál es la solución preferida para las versiones más recientes de Android?

Respuestas a la pregunta(6)

Su respuesta a la pregunta