0

我正在开发一个使用指纹或面部 id 来验证用户身份的应用程序。

自 6.0 Marshmellow 起,Android 包含 API 以简化指纹传感器的实施。

是否有与此 API 不兼容的所有设备的列表?要么是因为它们是在 6.0 之前开发的,要么是因为它们的 OEM 仍然不想使用 Google API。

或者如何知道如何支持最大数量的设备?

4

2 回答 2

0

万一有人想知道,唯一属于这种情况的设备是:

Samsung Galaxy S5
Samsung Galaxy S5 mini
Samsung Galaxy S5 plus
Samsung Galaxy Note 4
Samsung Galaxy Note Edge

所有都是三星的,可以使用已弃用的Pass SDK 进行验证。

在 Android M 发布后,所有制造的带有指纹传感器的设备都与 Google 指纹 API 兼容。

此外,所有具有面部解锁功能的设备都与 Google Pie 生物识别 API 兼容,并且没有 OEM 开发自己的 SDK。

于 2019-11-06T16:29:42.410 回答
-1

这个答案的两个部分。

第一部分

在 API23 (M) 中引入 API之前集成指纹传感器的设备FingerprintManager,后来更新到 API23 可能有资格也可能没有资格与具有特定安全要求的 FingerprintManager API 的部分集成。即,生物特征匹配必须在安全环境中执行,例如 TEE。

在不满足要求的设备上,KeyStore操作(例如FingerprintManager#authenticate(CryptoObject)在某些方面会失败,例如UserNotAuthenticatedException在尝试使用密钥时,即使在身份验证“成功”之后也是如此。

第二部分

要支持最大数量的设备,建议使用androidx.biometric库。在引入框架的BiometricManager/BiometricPrompt API 之前的设备上,它将在内部调用 FingerprintManager 并显示系统对话框的支持版本。在存在 BiometricManager/BiometricPrompt 的较新 API 上,它调用系统/OEM 的 API 实现。OEM 可以集成满足各种CDD 要求的生物识别技术。

此外,它遵循 androidx 发布时间表,与平台相比,它可以更快地修复错误(例如每周而不是每年)

于 2019-11-16T03:55:31.997 回答