Antes de marcar esta publicación como "duplicada", estoy escribiendo esta publicación porque ninguna otra publicación contiene la solución al problema.
Estoy tratando de apagar el dispositivo, luego, después de unos minutos o de un cambio de sensor, vuelva a encenderlo.
Desactivar las pruebas de pantalla
Puedo apagar la pantalla usando:
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
No he podido apagar la pantalla con el método wl.release ().
Activar prueba de pantalla
Mi primera suposición, como sigue, no funciona. No pasa nada, la pantalla permanece apagada.
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = -1f;
getWindow().setAttributes(params);
Luego también intenté usar wakelocks, sin éxito.
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "tag");
wl.acquire();
Finalmente probé lo siguiente, sin resultado.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Con todo, no obtengo ningún tipo de error en la consola para ninguno de estos métodos. Mi texto de prueba "La pantalla debería estar encendida" aparece en la pantalla cuando enciendo el dispositivo con el botón de encendido. Esto muestra que el código debería haberse ejecutado. Por favor, solo responda si ha probado el código, parece que muchas de las funciones como params.screenBrightness = -1, no funcionan como deberían según el sdk.