Mi actividad se ejecuta con un bloqueo parcial de activación porque está manejando continuamente los datos recibidos de Bluetooth. El bloqueo de estela está configurado de este modo:Cómo activar la pantalla durante el bloqueo parcial de activación
powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();
Cuando se producen determinados eventos que quiero en la pantalla para que el usuario puede ver el estado. Quiero que la pantalla se encienda automáticamente, no con la pulsación de un usuario. Sin embargo, todos los intentos de hacer esto han fallado. Cuando la pantalla se apaga mientras se ejecuta con un bloqueo parcial de activación, mis intentos de volver la pantalla hacia atrás y permitir que el usuario vea la actividad actual han fallado. He intentado simular la actividad del usuario:
PowerManager NewPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
NewPowerManager.userActivity(1, false);
banderas Ajuste de la ventana:
Window win = getWindow();
win.setFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON, WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
E incluso liberar el bloqueo raíz y empezar con otro que debe encender la pantalla:
if (wakeLock != null)
{
wakeLock.release(); // release the wakelock
}
PowerManager.WakeLock TempWakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP, "TempWakeLock");
// tried | PowerManager.ON_AFTER_RELEASE to no avail
TempWakeLock.acquire();
¿Hay algo que me falta aquí? No estoy tratando de abrir una nueva actividad, sino simplemente mostrar mi actual al usuario. ¿Alguien más ha podido hacer esto? Gracias por cualquier ayuda que pueda darme.