isFaceEnrolled方法在用户未录入人脸时仍返回true的问题咨询
isFaceEnrolled方法在用户未录入人脸时仍返回true的问题咨询
我开发了一个需要校验生物识别功能的应用,要分别检查人脸识别和指纹识别两种方式,而且每种都得做两项验证:
- 设备是否支持该类型的生物识别硬件
- 用户是否已经注册录入过对应的生物识别信息
我写了两个方法来做这些检查:
private fun isFaceEnrolled(): Boolean { val packageManager = packageManager val biometricManager = BiometricManager.from(this) val hasFaceHardware = packageManager.hasSystemFeature(PackageManager.FEATURE_FACE) val canAuthenticateWithFace = biometricManager.canAuthenticate(BiometricManager.Authenticators.BIOMETRIC_STRONG) == BiometricManager.BIOMETRIC_SUCCESS return hasFaceHardware && canAuthenticateWithFace } private fun isFingerprintEnrolled(): Boolean { val packageManager = packageManager val biometricManager = BiometricManager.from(this) val hasFingerprintHardware = packageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT) val canAuthenticateWithFingerprint = biometricManager.canAuthenticate( BiometricManager.Authenticators.BIOMETRIC_STRONG ) == BiometricManager.BIOMETRIC_SUCCESS return hasFingerprintHardware && canAuthenticateWithFingerprint }
不过最近测试时遇到了一个问题:有一台设备明明支持人脸硬件,但用户根本没录入过人脸信息,可我的isFaceEnrolled方法却返回了true。
想请教各位,是不是我的方法里有什么地方没检查对?
备注:内容来源于stack exchange,提问作者DiChrist
相关产品推荐
相关产品推荐

