отключить блокировку и включить экран после сна

#android

#Android

Вопрос:

В моем приложении есть будильник, который срабатывает после периода, в течение которого телефон перешел в спящий режим. Я хочу, чтобы скользящая блокировка была переопределена при срабатывании будильника, чтобы текущее представление становилось видимым сразу. В момент срабатывания будильника начинает выполняться код (активирует камеру), но экран остается пустым. Если я нажму клавишу питания, а затем сдвину блокировку, появится экран камеры в режиме реального времени. Я вызываю следующий код, чтобы попытаться разбудить устройство и показать экран, но, похоже, это не имеет никакого значения. Последнее, что я пытался, это добавить вызов UserActivity, теперь у меня закончились попытки, и я надеюсь, что у кого-то есть некоторый опыт в том, как это сделать.

 public void setWakeLock(WakeLock wakeLock) {
        PowerManager pm  = (PowerManager) getSystemService(Context.POWER_SERVICE);

        wakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | 
                         PowerManager.ACQUIRE_CAUSES_WAKEUP, "MyWakeLock");
        if ((wakeLock != null) amp;amp;           // we have a WakeLock
                (wakeLock.isHeld() == false)){
        wakeLock.acquire();
        pm.userActivity(SystemClock.uptimeMillis(), true);

        }
    }
  

Ответ №1:

Проверьте android.app.KeyguardManager.Класс KeyguardLock. Вам нужно вызвать disableKeyguard () оттуда.