3

在我的项目中,我们使用 BiometricPrompt 添加了这个生物特征认证功能。可以在应用程序的设置中启用生物识别功能,但如果用户设备支持面部生物识别功能,应用程序也需要显示。

根据我的研究,检查 android 设备是否具有面部生物特征的官方方法是通过以下代码:

val hasFaceBiometric = packageManager.hasSystemFeature(PackageManager.FEATURE_FACE)

然而,这个检查似乎不可靠,因为它只在 Google Pixel 4 上返回 true。我在三星 Galaxy S9 和 S10 上测试了我们的应用程序,它们似乎都支持面部生物识别,但奇怪的是,上面的代码返回 false。

以android中面部生物识别的当前状态,真的有一种可靠的方法来检查面部生物识别支持吗?

4

1 回答 1

3

三星的人脸识别使用的是前置摄像头,这不被认为是安全的生物识别技术。这就是文档所说的:

getSystemAvailableFeatures 和 hasSystemFeature 的功能:设备具有生物识别硬件来执行面部身份验证。

我假设这将检查设备是否具有 Pixel 4 具有的安全面部识别功能。从 Android 10 及更高版本(Pie 有一个问题,它在 API 中启用了不安全的生物识别技术)三星将永远不会显示 BiometricPrompt 进行人脸识别。如果他们在未来的设备中提供安全的人脸识别,则此检查可能会返回 true。

于 2020-08-10T15:17:28.913 回答