Как реализовать основную блокировку экрана блокировки в вашем собственном приложении для Android?

Как мы должны реализовать основную блокировку экрана блокировки в моем приложении для Android так же, как это используется в Google Tez, PFA изображение. введите описание изображения здесь

1 ответ

В Android есть нечто, известное как KeyGuard. Keyguard в основном относится к коду, который управляет разблокировкой телефона. Первоначально он был разработан для телефона, который имел клавиатуру.

Tez, Paytm и т. Д. Используют API Keyguard, предоставляемый Android, для защиты приложения.

Вы можете реализовать это, выполнив следующие действия:

  1. Android предоставляет KeyguardManager для реализации аутентификации.

    KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
    
  2. Создайте намерение запросить аутентификацию.

    Intent screenLockIntent = keyguardManager.createConfirmDeviceCredentialIntent(title, description);
    

    Здесь заголовок и описание предназначены для отображения пользователю информации во время аутентификации. Уровень API 21 требуется для этого метода.

  3. Вы можете вызвать startActivityForResult, который вернет результат, если аутентификация прошла успешно.

    startActivityForResult(screenLockIntent, LOCK_REQUEST_CODE);
    

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

  4. Проверьте результат в 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
            }
        }
    }
    
Другие вопросы по тегам