2015-09-02 5 views
4

Я хочу отключить экранный шкафчик (даже если он заблокирован) или изменить его на некоторую простую блокировку, например, проведите разблокировку, в моем приложении, когда ноутбук близок, поэтому мне не придется писать свой 12-значный PIN-код код каждый раз, когда я хочу читать уведомления.Как программно разблокировать экран на корневом устройстве?

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

Я работаю на Android 4.4.

+0

На Android 5.0 и выше, Google SmartLock имеет "когда устройство находится рядом" вариант для автоматического отпирания: https://support.google.com/nexus/answer/ 6093922? Hl = ru-RU – adelphus

ответ

1

Это должно работать:

PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); 
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK 
     | PowerManager.ACQUIRE_CAUSES_WAKEUP 
     | PowerManager.ON_AFTER_RELEASE, "INFO"); 
wl.acquire(); 

KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); 
KeyguardLock kl = km.newKeyguardLock("name"); 
kl.disableKeyguard(); 
+0

Первый метод просто поместил мою активность на экран блокировки, поэтому мне пришлось вводить PIN-код, когда я нажимаю кнопку «Назад». Второй способ - это то, что я искал. Спасибо – Markaos

+0

Я отредактирую ответ, удалив первую часть. Спасибо за ваши отзывы :) – arodriguezdonaire

+0

Отключение блокировки клавиатуры не является решением проблемы разблокировки – anandbibek

 Смежные вопросы

  • Нет связанных вопросов^_^