#android
#Android
Вопрос:
KeyguardManager устарел.
Какой код я теперь должен использовать,
чтобы разблокировать устройство из ActivityInstrumentationTestCase2
перед запуском теста?
Ответ №1:
Есть ли у вас доступ к объекту Window из этого кода? Если да, вы можете включить keyguard следующим образом:
getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
а затем отключите keyguard следующим образом:
getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION);
Комментарии:
1. Спасибо за ваш ответ, но я получаю: «java.lang. Исключение SecurityException: для ввода в другое приложение требуется разрешение INJECT_EVENTS» с вашим предложением и всеми соответствующими флагами разрешений (FLAG_DISMISS_KEYGUARD и friends), установленными в окне. Я думаю, что невозможно (или когда-либо было возможно даже с KeyguardManager) разблокировать устройство из кода. Так что вопрос бессмыслен. Это связано с тем, что я путаю заблокированный экран с защищенным экраном. Решение состоит в том, чтобы отключить keyguard во время разработки.
2. Я неправильно понял ваш первоначальный вопрос. Не обращайте внимания на этот ответ.
Ответ №2:
Вопрос бессмысленный.
Это связано с тем, что я путаю заблокированный экран с защищенным экраном.
Решение заключается в отключении keyguard / keylock во время разработки.