Как программно отключить заставку / экран блокировки на Android (Nook Simple Touch)

Я написал простое приложение в стиле будильника, которое я запускаю на своем (взломанном) Nook Simple Touch (он же NST) под Android 2.1.

Когда наступит запланированное время будильника, моему приложению нужно разбудить NST и отобразить страницу HTML-контента. Я использую AlarmManager, чтобы получить обратный вызов в нужное время, и кажется, что он работает как ожидалось - почти.

Проблема возникает, когда прошло достаточно времени простоя, когда NST активировал режим блокировки экрана (то есть это автоматическое отображение карикатуры известного автора). Я не могу найти программный способ закрыть экран блокировки, чтобы мой HTML-контент был виден. Я вижу, что моя подпрограмма обратного вызова по сигналу была запущена в ожидаемое время (через представление LogCat в Eclipse, после того, как я повторно подключился к NST с помощью adb), и после того, как я вручную «перетащил, чтобы разблокировать» пальцем, я вижу, что мое приложение окно обновлено, как и ожидалось, но мне нужно, чтобы текст стал видимым, когда происходит событие тревоги, а не только после того, как пользователь разблокирует устройство. Я попробовал код, показанный ниже (на основе других ответов StackOverflow), но это не помогает.

Любые идеи относительно способа сделать это? (Одно из технических решений, которое работает технически, - это постоянно устанавливать FLAG_KEEP_SCREEN_ON в моем окне, чтобы экран знаменитого автора-блокировки никогда не появлялся на первом месте, но это не дает NST проснуться и, следовательно, довольно быстро разряжает батарею. так что хочу этого по возможности избежать)

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);
}

Ответы на вопрос(1)

Ваш ответ на вопрос