Wakelock не включается на экране?Помогите? - PullRequest
1 голос
/ 11 сентября 2010

У меня есть сигнал, который переводит мое приложение в спящий режим на определенное количество минут (с помощью AlarmManager), а затем снова активирует его.

Все работает, кроме экрана, который никогда не включается. Я использую Wakelock, как это из класса BroadcastReceiver:

     KeyguardManager key = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
     KeyguardLock lock = key.newKeyguardLock(TAG);
     lock.disableKeyguard();
     Log.v(TAG, "alarm: disabled keyguard.");

     PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
     gpsMain.wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, TAG);
     gpsMain.wl.acquire();
     Log.v(TAG, "alarm: acquired wakelock");

     Intent i = new Intent();
     i.setAction(CUSTOM_INTENT);
     context.sendBroadcast(i);

Затем я освобождаю wakelock, когда я уверен, что мое приложение запущено, работает и снова подключено. Однако экран никогда не включается! Приложение действительно оживает только тогда, когда я нажимаю кнопку питания, чтобы вручную включить экран.

Я занимаюсь разработкой на HTC Hero. Любая помощь будет принята с благодарностью ..

1 Ответ

1 голос
/ 11 сентября 2010

Вам необходимо использовать флаг ACQUIRE_CAUSES_WAKEUP.

...