API датчика отпечатков пальцев Android

для проекта на работе я пытаюсь получить статус (работает или неисправен) датчика отпечатков пальцев на устройствах Android, чтобы проверить, правильно ли он работает.

Я использую функцию isHardwareDetected в этом android 6.0 API (APK 23).

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

У меня есть сотовый телефон (примечание 4) с работающим датчиком отпечатков пальцев, который ошибается от isHardwareDetected, и я не могу объяснить, почему.

спасибо, Маор.


person Maor Gershkovitch    schedule 25.04.2017    source источник


Ответы (2)


После небольшого изучения швов кажется, что Samsung не реализовал поддержку Android Fingerprint API для некоторых из своих устройств, поэтому класс FingerprintManager не отвечает должным образом. Я предлагаю использовать SDK Samsung PASS, который можно найти здесь: http://developer.samsung.com/galaxy/pass.

Ссылки по теме: Android M FingerprintManager.isHardwareDetected () возвращает false на Samsung Galaxy S5

FingerPrint API isHardwareDetected всегда возвращает false

person Alex T    schedule 26.04.2017
comment
Спасибо большое. задача решена. Знаете ли вы о других устройствах Android с такой же проблемой? - person Maor Gershkovitch; 30.04.2017
comment
Судя по тому, что я тестировал и исследовал, проблема ограничена S5 и Note4. Но я не могу точно сказать, единственные ли это устройства, у которых есть проблема. Здесь вы можете следить за последними примечаниями к выпуску со страницы разработчика Samsung для получения обновлений: developer.samsung.com/release-note/view.do?v=R000000009 - person Alex T; 02.05.2017
comment
Правильно ли я понимаю, что API Samsung Pass больше не работает не только на новых, но и на любых современных устройствах? (См. «Примечание».) developer.samsung.com/galaxy/pass Интересно, следует ли мне добавлять поддержку или нет. - person ; 11.01.2019

Системные службы Android включают FingerprintManager:

FingerprintManager fingerprintManager = (FingerprintManager)getSystemService(FINGERPRINT_SERVICE);

Вам необходимо добавить это разрешение:

<uses-permission android:name="android.permission.USE_FINGERPRINT" />

Подробнее о том, как работать с FingerprintManager, читайте здесь:

Как использовать сканер отпечатков пальцев для аутентификации пользователей

person RonTLV    schedule 25.04.2017
comment
Спасибо за ответ. У меня уже есть все необходимые разрешения, и я не пытаюсь аутентифицировать пользователей, просто чтобы понять, как операционная система получает информацию о правильности самого датчика отпечатков пальцев. - person Maor Gershkovitch; 25.04.2017