Как проверить совместимость устройства для аутентификации Iris Scan в Android

Я работаю с функцией сканирования радужной оболочки вкладки Samsung. Мое требование состоит в том, что если текущее устройство поддерживает аппаратное обеспечение Iris, то я выполню сканирование Iris, в противном случае я буду использовать обычный способ в приложении.

Итак, кто-нибудь может сказать мне, как проверить совместимость устройства для аппаратного обеспечения Iris Scan в Android.

Заранее спасибо.


person Sanil_77    schedule 31.05.2018    source источник
comment
Похоже, что в будущем (Android P? или более поздняя версия) поддержка платформы Android для использования аутентификации сканера радужной оболочки глаза может стать доступной в соответствии с этой статьей: xda-developers.com/iris-scanners-native-support-android-p Сейчас я бы проверил, есть ли у производителя устройства SDK .   -  person Morrison Chang    schedule 31.05.2018


Ответы (2)


Я смог проверить, поддерживает ли мое устройство Samsung Samsung Face или Samsung Iris, проверив наличие следующих пакетов на устройстве с помощью класса Android PackageManager: com.samsung.android.bio.face.service или com.samsung.android.server.iris.

Пример использования:

Для лица:

PackageInfo faceSamsung = packageManager.getPackageInfo("com.samsung.android.bio.face.service", PackageManager.GET_META_DATA);

Для ириса:

PackageInfo irisSamsung = packageManager.getPackageInfo("com.samsung.android.server.iris", PackageManager.GET_META_DATA);

Исключение выдается, если пакет и функция отсутствуют на устройстве.

Два предостережения:

  • Это не гарантирует, что биометрия действительно настроена и используется. Он только отображает наличие функции. Класс BiometricManager можно использовать вместе для подтверждения регистрации.

  • Похоже, что в приложении нет способа выбирать, какие биометрические методы используются. Существует устаревшая функция FingerprintManager, которая может получить проверку отпечатков пальцев, или новые функции BiometricPrompt, но биометрическая аутентификация представляет запрос на уровне ОС, который определяется настройками биометрической аутентификации, выбранными пользователем в приложении настроек. Если настроено несколько методов биометрической аутентификации, это может отображаться как выбор для пользователя, но он находится в диалоговом окне ОС вне контроля вашего приложения.

person Carl Poole    schedule 06.05.2020

Может быть слишком поздно для ответа, но попробуйте использовать:

val packageManager: PackageManager = context.packageManager
if(packageManager.hasSystemFeature(PackageManager.FEATURE_IRIS)) {
// do something
}
person Ilya Pavlik    schedule 16.04.2020
comment
Я тестирую это на Samsung Galaxy S9+, и, к сожалению, менеджер пакетов не обнаруживает функцию диафрагмы. - person Carl Poole; 06.05.2020