You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 10:23:06