Как реализовать основную блокировку экрана блокировки в вашем собственном приложении для Android?
1 ответ
В Android есть нечто, известное как KeyGuard. Keyguard в основном относится к коду, который управляет разблокировкой телефона. Первоначально он был разработан для телефона, который имел клавиатуру.
Tez, Paytm и т. Д. Используют API Keyguard, предоставляемый Android, для защиты приложения.
Вы можете реализовать это, выполнив следующие действия:
Android предоставляет KeyguardManager для реализации аутентификации.
KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
Создайте намерение запросить аутентификацию.
Intent screenLockIntent = keyguardManager.createConfirmDeviceCredentialIntent(title, description);
Здесь заголовок и описание предназначены для отображения пользователю информации во время аутентификации. Уровень API 21 требуется для этого метода.
Вы можете вызвать startActivityForResult, который вернет результат, если аутентификация прошла успешно.
startActivityForResult(screenLockIntent, LOCK_REQUEST_CODE);
Это вызывает исключение, если экран блокировки не настроен. Вы должны справиться с ситуацией вручную.
Проверьте результат в onActivityResult
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(LOCK_REQUEST_CODE == requestCode){ if (resultCode == RESULT_OK) { //Authentication is successful } else { //Authentication failed } } }