Обнаружение нового / удаления регистрации по отпечатку пальца - PullRequest
0 голосов
/ 13 декабря 2018

В настоящее время я работаю с аутентификацией по отпечатку пальца с [https://github.com/googlesamples/android-FingerprintDialog] в моем приложении, но не могу обнаружить ни одного нового или удаленного отпечатка пальца.Я ищу ответный звонок / событие всякий раз, когда в диспетчере отпечатков пальцев происходят изменения.

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

  1. открывает приложение, ключи создаются mKeyGenerator.generateKey ();
  2. подтверждают отпечаток пальца
  3. сворачивают приложение
  4. откройте настройки и добавьте новый отпечаток
  5. вернитесь в приложение и попробуйте снова подтвердить подлинность нового KeyPermanentlyInvalidatedException

Однако, если точка 3 заменяется«Выход из приложения» и выполнение следующих шагов исключение не выдается по простой причине, что ключи воссозданы.Мой вопрос заключается в том, как определить, был ли добавлен / удален новый отпечаток пальца между двумя различными средами выполнения?

Пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 22 июля 2019

При запуске приложения вы должны проверить, содержит ли ваше хранилище ключей ранее созданный ключ

 private var keyStore: KeyStore = KeyStore.getInstance("AndroidKeyStore")
 private var cipher = Cipher.getInstance(...)

    init {
        try {
            keyStore.load(null)

            val key = keyStore.getKey(DEFAULT_KEY_NAME, null)

            if (key == null) {
                generateKey()
            }
        } catch (e: Throwable) {
            Timber.e(e)
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...