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,请帮助我。
如果设备支持,生物识别API可以自动处理人脸识别功能。
你是在哪个设备上测试的?
用户在设备设置中配置的生物识别模式(人脸,指纹),将在生物识别库的authenticate()被调用时,显示在生物识别自动识别界面。Pixel 4是支持人脸认证的设备之一,当用户在设备设置中配置人脸认证时,如果调用authenticate(),就会显示人脸认证类型的认证界面。Android 10中引入的人脸认证是由硬件驱动的。
注:之前我认为,Soli芯片是支持Android 10生物识别APIS的强制性设备,但它是错误的。我已经编辑了之前的答案来纠正我的解释。任何兼容Android生物识别规范的设备都会支持它。https:/source.android.comsecuritybiometric)。