Cómo descartar mediante programación el protector de pantalla / pantalla de bloqueo en Android (Nook Simple Touch)

Escribí una aplicación de estilo de reloj de alarma simple que ejecuto en mi Nook Simple Touch (también conocido como NST), bajo Android 2.1.

Cuando llega la hora programada de la alarma, mi aplicación necesita activar el NST y mostrar una página de contenido HTML. Utilizo AlarmManager para recibir una devolución de llamada en el momento adecuado, y parece funcionar como se esperaba, casi.

El problema ocurre cuando ha transcurrido suficiente tiempo de inactividad y el NST ha activado su modo de pantalla de bloqueo (es decir, está mostrando automáticamente una caricatura de un autor famoso). No puedo encontrar una forma programática para descartar la pantalla de bloqueo para que mi contenido HTML sea visible. Puedo ver que mi rutina de devolución de llamada de alarma se ejecutó a la hora esperada (a través de la vista LogCat en Eclipse, después de volver a conectarme al NST con adb), y después de "arrastrar para desbloquear" manualmente con el dedo, puedo ver que mi aplicación ventana actualizada como se esperaba, pero necesito que el texto se vuelva visible cuando ocurra el evento de alarma, no solo después de que el usuario desbloquee el dispositivo. Intenté el código que se muestra a continuación (basado en otras respuestas de StackOverflow) pero no ayuda.

¿Alguna idea sobre una forma de hacer esto? (Una solución que técnicamente funciona es mantener FLAG_KEEP_SCREEN_ON configurado en mi ventana en todo momento, de modo que la pantalla de bloqueo del famoso autor nunca aparezca en primer lugar, pero eso mantiene el NST despierto y, por lo tanto, usa la batería bastante rápido , así que quiero evitar eso si es posible)

private void wakeUpTheScreen()
{
    Window win = getWindow();
    win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
    win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta