无法使用生物识别管理器打开人脸识别

时间:2020-05-12 09:58:47

标签: android androidx

    biometricPrompt = BiometricPrompt(this, executor,
            object : BiometricPrompt.AuthenticationCallback() {
                override fun onAuthenticationError(errorCode: Int,
                                                   errString: CharSequence) {
                    super.onAuthenticationError(errorCode, errString)
                    Toast.makeText(applicationContext,
                                    "Authentication error: $errString", Toast.LENGTH_SHORT)
                            .show()
                }

                override fun onAuthenticationSucceeded(
                        result: BiometricPrompt.AuthenticationResult) {
                    super.onAuthenticationSucceeded(result)
                    Toast.makeText(applicationContext,
                                    "Authentication succeeded!", Toast.LENGTH_SHORT)
                            .show()
                }

                override fun onAuthenticationFailed() {
                    super.onAuthenticationFailed()
                    Toast.makeText(applicationContext, "Authentication failed",
                                    Toast.LENGTH_SHORT)
                            .show()
                }
            })

    promptInfo = BiometricPrompt.PromptInfo.Builder()
            .setTitle("Biometric login for my app")
            .setSubtitle("Log in using your biometric credential")
            .setNegativeButtonText("Use account password")
            .build()

    val biometricLoginButton =
            findViewById<Button>(R.id.biometric_login)
    biometricLoginButton.setOnClickListener {
        biometricPrompt.authenticate(promptInfo)
    }

这将每次都打开指纹扫描仪,如果没有指纹,则不会显示添加指纹的错误。

我要打开面部识别BioMetricPrompt。请帮助

1 个答案:

答案 0 :(得分:0)

如果设备支持,生物识别API可以自动处理面部识别功能。

您要在哪台设备上进行测试?

当调用生物特征库的authenticate()时,用户在设备设置中配置的生物特征模式(面部,指纹)将显示在生物特征用户界面中。要在设备设置中配置人脸生物识别模式,设备应支持人脸认证(硬件驱动)。像素4是支持人脸认证的设备之一。当用户在设置中配置人脸认证时,如果调用authenticate(),则人脸认证将显示身份验证UI的类型。 Android 10中引入的人脸身份验证由硬件驱动。

注意:之前我以为,Soli芯片在设备中是必需的,以支持Android 10 Biometric APIS,但它是错误的。我已经编辑了先前的答案以更正我的解释。任何与Android Biometric规范兼容的设备都将支持它。 https://source.android.com/security/biometric