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。请帮助
答案 0 :(得分:0)
如果设备支持,生物识别API可以自动处理面部识别功能。
您要在哪台设备上进行测试?
当调用生物特征库的authenticate()时,用户在设备设置中配置的生物特征模式(面部,指纹)将显示在生物特征用户界面中。要在设备设置中配置人脸生物识别模式,设备应支持人脸认证(硬件驱动)。像素4是支持人脸认证的设备之一。当用户在设置中配置人脸认证时,如果调用authenticate(),则人脸认证将显示身份验证UI的类型。 Android 10中引入的人脸身份验证由硬件驱动。
注意:之前我以为,Soli芯片在设备中是必需的,以支持Android 10 Biometric APIS,但它是错误的。我已经编辑了先前的答案以更正我的解释。任何与Android Biometric规范兼容的设备都将支持它。 https://source.android.com/security/biometric