Поведение API отпечатков пальцев, когда устройство заблокировано

У меня есть приложение, в котором есть служба, которую можно запустить, когда устройство заблокировано, и эта служба запускает действие моего приложения (даже при заблокированном устройстве). В этом упражнении я использую Google Fingerprint API для идентификации пользователя. Я протестировал два устройства с Android 6.0.1 (Samsung Galaxy S6 и Google LG Nexus 5X) с разными результатами:

  • Samsung Galaxy S6: получение ошибки 5 или FINGERRINT_ERROR_CANCELED (https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_CANCELED) в методе onAuthenticationError функции AuthenticationCallback
  • Nexus 5X: ошибка не возникает, но аутентификация невозможна. Независимо от того, что делают пользователи (используя другой палец, слишком быстро отпуская палец...), ошибка не возникает. Пользователи могут только отменить диалог.

Мои вопросы:

  • Кто-нибудь знает, почему эти различия в поведении?
  • Кто-нибудь знает, можем ли мы использовать этот метод аутентификации с заблокированным устройством?

Один и тот же рабочий процесс службы/действия/аутентификации работает отлично, когда оба устройства разблокированы, а также когда приложение находится в фоновом/переднем плане.

Спасибо!


person achojoao    schedule 21.12.2016    source источник


Ответы (1)


Введение задержки в 1 секунду (с handler.postDelayed) перед вызовом метода аутентификации сработало для меня

person achojoao    schedule 10.01.2017