Предоставляет ли Android Fingerprint имя отпечатка пальца или какой-либо уникальный идентификатор отпечатка пальца?

Android 6.0 (M) предлагает новые функции аутентификации по отпечатку пальца. Я попробовал этот пример android-FingerprintDialog, это хороший образец Google.

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


person Mansukh Ahir    schedule 06.02.2017    source источник
comment
но FingerprintManager не может предоставить какой-либо уникальный идентификатор отпечатка пальца - AFAIK, это идентификатор пользователя устройства. Если ваше приложение имеет концепцию нескольких пользователей на одном устройстве, вам придется обрабатывать эту часть отдельно (опять же, AFAIK).   -  person CommonsWare    schedule 06.02.2017
comment
Если вы используете Build.fingerpriont, это уникальный код   -  person Avi Parshan    schedule 06.02.2017
comment
@CommonsWare есть ли способ получить доступ к данным с Android через сканер отпечатков пальцев?   -  person Mansukh Ahir    schedule 06.02.2017
comment
Я не знаю, что вы имеете в виду, извините.   -  person CommonsWare    schedule 06.02.2017
comment
Согласно документации: Каждый раз, когда ваше приложение сохраняет настройки пользователя, создает базу данных или записывает файл во внутреннее или внешнее хранилище пользователя, эти данные доступны только при работе от имени этого пользователя. Таким образом, даже если вы этого не сделаете, узнать личность пользователя по отпечатку пальца, это не должно иметь для вас значения.   -  person Gergely Kőrössy    schedule 06.02.2017
comment
@GergelyKőrössy Спасибо за ответ, но я хочу избежать каждый раз учетных данных, разрешить пользователям доступ к данным через аутентификацию по отпечатку пальца. как добавить посещаемость с помощью отпечатка пальца   -  person Mansukh Ahir    schedule 07.02.2017
comment
@MansukhAhir Вы не можете этого сделать. Отпечатки пальцев идентифицируют текущего пользователя системы. На самом деле происходит проверка, а не идентификация. Разница в том, что когда вошедший в систему пользователь открывает приложение, система уже знает точный набор отпечатков пальцев, связанных с пользователем, и только проверяет, является ли читаемый в данный момент одним из них. Следовательно, нет смысла предоставлять вам идентификатор отпечатка пальца, поскольку все они принадлежат одному и тому же пользователю (то есть одному и тому же человеку). Результатом этого является то, что у вас нет доступа к таким данным, и вы не можете делать то, что хотите. Извиняюсь.   -  person Gergely Kőrössy    schedule 07.02.2017
comment
Спасибо @GergelyKőrössy и всем за то, что поделились своим ответом.   -  person Mansukh Ahir    schedule 08.02.2017
comment
привет @MansukhAhir bhai Мне нужно выполнять те же функции для нескольких пользователей на одном устройстве, так как я могу обнаружить уникальные данные, которые я могу получить при обнаружении отпечатка пальца и на основе этих данных мне нужно получить или записать данные в БД или Общие предпочтения?   -  person Vishal Patoliya ツ    schedule 29.05.2017


Ответы (2)


Вы не можете получить шаблон или изображение отпечатка пальца из Android Fingerprint API. Данные отпечатков пальцев хранятся в безопасном месте системой Android и недоступны даже на рутированных устройствах.

Часть проверки с апи андроидом оставьте сам.

person rohitanand    schedule 06.02.2017
comment
Это не отвечает на вопрос ОП. Он хочет знать, кто прошел аутентификацию. Не то, как выглядит его отпечаток пальца. - person Marcin Orlowski; 06.02.2017

Нет никакого способа, которым мы идентифицируем того, кто удостоверился. Фактически, определение совместимости Android для Android 6.0 гласит в разделе «Отпечаток пальца» (7.3.10):

НЕ ДОЛЖНЫ позволять сторонним приложениям различать отдельные отпечатки пальцев.

Метод отпечатка пальца Android не предоставляет имя отпечатка пальца или какой-либо уникальный идентификатор. он одинаково обрабатывал каждый зарегистрированный отпечаток пальца и только аутентифицировал. (действительный пользователь или недействительный пользователь, вот и все)

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

Хранилище Отпечатки пальцев привязаны к устройству (из часто задаваемых вопросов Nexus):

Данные вашего отпечатка пальца надежно хранятся и никогда не покидают ваше устройство. Ваши данные не передаются Google или каким-либо приложениям на вашем устройстве.

Поэтому приложение не может получить доступ к данным отпечатков пальцев, чтобы сохранить их или использовать на разных устройствах.

Предложение. Чтобы различать нескольких пользователей или устройств, следует использовать внешний сканер отпечатков пальцев. Есть несколько внешних сканеров отпечатков пальцев, совместимых с платформой Android и с SDK для Android. Эти SDK позволяют регистрировать и проверять нескольких пользователей.

person Rakesh Soni    schedule 21.12.2017