我尝试设置指纹,模式/密码/引脚,faceUnlock为我的应用程序。但是生物识别不起作用,它总是用使用模式对话框显示指纹。生物识别技术还不支持FaceUnlock吗?如果不支持生物特征依赖,意味着我应该在我的应用程序中使用哪个库,其中包含指纹、模式/密码/引脚和faceUnlock。
class LoginActivity : AppCompatActivity(){
private lateinit var biometricPrompt: BiometricPrompt
private lateinit var executor: Executor
private lateinit var callBack: BiometricPrompt.AuthenticationCallback
lateinit var prompt: BiometricPrompt.PromptInfo
private var keyguardManager: KeyguardManager? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = DataBindingUtil.setContentView<ActivityLoginBinding>(this, R.layout.activity_login)
executor = ContextCompat.getMainExecutor(this)
biometricPrompt = BiometricPrompt(this, executor, object: BiometricPrompt.AuthenticationCallback(){
override fun onAuthenticationFailed() {
super.onAuthenticationFailed()
tvAuthStatus.text = "Authentication Failed"
}
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
super.onAuthenticationSucceeded(result)
startActivity(Intent(this@LoginActivity, MainActivity::class.java))
finish()
tvAuthStatus.text = "Authentication Success"
}
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
super.onAuthenticationError(errorCode, errString)
tvAuthStatus.text = "Error" + errString
}
})
prompt = BiometricPrompt.PromptInfo.Builder()
.setTitle("RoomDB FingerPrint Login")
.setNegativeButtonText("Login using fingerprint or face")
.setNegativeButtonText("Cancel")
.build()
btnAuth.setOnClickListener {
biometricPrompt.authenticate(prompt)
}
}}
发布于 2022-08-25 17:24:47
在您的例子中,原因可能是在官方的Android中出现相同的脸身份验证API之前,您的测试设备是通过face身份验证特性发布的。它使得测试设备中的第三方应用程序不能使用face身份验证。看看这个库,它在README.md上写到,“我有一个可以用指纹/脸/虹膜解锁的设备,而且(或)我可以在预装的应用程序中使用这种生物识别类型。但是它不能在第三方应用上工作。你能帮上忙吗?”https://github.com/sergeykomlach/AdvancedBiometricPromptCompat#i-have-a-device-that-can-be-unlocked-using-fingerprintfaceiris-andor-i-can-use-this-biometric-type-in-pre-installed-apps-but-it-doesnt-work-on-3rd-party-apps-can--you-help希望它能帮上忙。
https://stackoverflow.com/questions/71033151
复制相似问题