Как отключить KeyGuard и отобразить активность пользователю, когда приемник Screen_ON срабатывает?

StackOverflow https://stackoverflow.com/questions/4234156

  •  26-09-2019
  •  | 
  •  

Вопрос

Как я могу отключить KeyGuard, когда широковещательный приемник активируется Screen_on, так что когда он возникает, пользователь видит деятельность, которую я начал за ним? (Деятельность работает уже ...)

Я пытался следующий код из широковещательного приемника, вызванного экраном ...

KeyguardManager  myKeyGuard = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
myLock = myKeyGuard.newKeyguardLock();
myLock.disableKeyguard();

Похоже, это не работает, как есть. Когда я включаю экран, я все еще должен вручную разблокировать на картезах на телефоне, чтобы раскрыть свою деятельность по ней.

Это было полезно?

Решение 2

Я думаю, что я понял, что я сделал не так. Похоже, это был просто ошибка метки в моем манифесте при использовании разрешения Disable_keyguard. Теперь он работает правильно, чтобы я исправил манифест.

Другие советы

Я бы порекомендовал использовать флаги окна Deveriske_keyguard или Show_when_locked, если у вас есть окно, которое нужно перейти на вершину блокировки экрана прямо при пробуждении.

http://developer.android.com/reference/android/view/windowmanager.layoutparams.html#flag_show_when_locked.

Как вы используете это следующим образом (вызывается в OnCreate перед настройкой макета)

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

Я не вижу работы на Keeguard Repion (и она устарела). Что работает для меня, состоит в том, чтобы захватить постоянный PARTIAL_WAKE_LOCK что я никогда не выпускаю. Это предотвращает поистине засыпание устройства и, таким образом, позволяет избежать активированного экрана блокировки.

Затем каждый раз, когда экран выключается, я слушаю это уведомление и разбудить устройство резервному. Работает на всех устройствах, на которых я проверил.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top