在我的项目中,我们使用BiometricPrompt添加了这个生物特征认证功能。生物识别可以在应用程序的设置中启用,但如果用户的设备上支持面部生物识别,则应用程序也需要显示。
根据我的研究,检查android设备是否具有面部生物特征的官方方法是通过以下代码:
val hasFaceBiometric = packageManager.hasSystemFeature(PackageManager.FEATURE_FACE)
然而,这种检查似乎不可靠,因为它只在Google 4上返回真。我在三星Galaxy S9和S10上测试了我们的应用程序,它们似乎都支持面部生物识别,但奇怪的是,上面的代码返回错误。
鉴于目前android系统中人脸生物识别的现状,是否真的有一种可靠的方法来检查人脸生物特征支持?
发布于 2020-08-10 15:17:28
三星的人脸识别使用的是前置摄像头,这不被认为是一种安全的生物识别。医生们是这么说的:
特性用于getSystemAvailableFeatures和hasSystemFeature:该设备具有生物识别硬件来执行面部身份验证。
我所假设的是,这将检查设备是否有安全的人脸识别,像素4有。从安卓10和更高版本(Pie有一个问题,在API中有些不安全的生物特征),三星将永远不会显示BiometricPrompt进行面部识别。如果他们在未来的设备中提供了一个安全的人脸识别,这个检查可能会返回true。
https://stackoverflow.com/questions/62729591
复制相似问题