首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FaceUnlock没有在我的应用程序android kotlin上工作

FaceUnlock没有在我的应用程序android kotlin上工作
EN

Stack Overflow用户
提问于 2022-02-08 11:30:12
回答 1查看 159关注 0票数 0

我尝试设置指纹,模式/密码/引脚,faceUnlock为我的应用程序。但是生物识别不起作用,它总是用使用模式对话框显示指纹。生物识别技术还不支持FaceUnlock吗?如果不支持生物特征依赖,意味着我应该在我的应用程序中使用哪个库,其中包含指纹、模式/密码/引脚和faceUnlock。

代码语言:javascript
复制
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)
    }
}

}

EN

回答 1

Stack Overflow用户

发布于 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希望它能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71033151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档