2

Android 6.0 (M) 提供了指纹认证的新功能。我试过这个例子android-FingerprintDialog这是很好的谷歌样本。

一个问题是我正在创建应用程序,就像一旦用户成功通过指纹验证加载用户数据,SQlite DatabaseFingerprintManager无法提供指纹的任何唯一身份。如果有人对此有想法,请分享。

4

2 回答 2

3

我们无法确定谁已通过身份验证。事实上,Android 6.0 的 Android 兼容性定义在指纹部分 (7.3.10) 中声明:

不得启用第 3 方应用程序来区分各个指纹。

Android指纹方法不提供指纹名称或任何唯一身份。它平等地对待每个注册的指纹,只进行身份验证。(有效用户或无效用户就是这样)

因此,虽然您可以编写一个使用指纹作为验证用户的机制的应用程序,但可以使用与当前用户帐户关联的任何已注册指纹。

存储 指纹与设备相关联(来自 Nexus FAQ):

您的指纹数据被安全存储,永远不会离开您的设备。您的数据不会与 Google 或您设备上的任何应用共享。

因此,应用程序无法访问指纹数据以保存或跨设备使用。

建议:为了区分多个用户或设备,您应该使用外部指纹扫描仪。有一些外部指纹扫描仪与 Android 平台和 Android SDK 兼容。这些 SDK 允许注册和验证多个用户。

于 2017-12-21T08:04:21.363 回答
2

您无法从 android Fingerprint API 获取指纹模板或图像。指纹数据由安卓系统存储在安全的地方,即使在有根设备中也无法访问。

将验证部分留给 api android 本身。

于 2017-02-06T13:31:52.147 回答