在 API 29 中初始化生物识别提示



我正在尝试使用API级别29的BioMetricPrompt在我的应用程序中添加fingerPrint身份验证。

我遵循一些代码,但大多数可用代码都用于较低级别的 API。在 API 29 中,BiometricPrompt 类在与 lowe 级别 API 的比较中有很大的变化。

我的主要查询是如何为目标 API 为 API 28 或 29 的项目初始化 BiometricPrompt 类。

我正在尝试使用FingerprintManagerCompat执行此操作,但现在已弃用。因此,请帮助我创建生物识别提示类的实例。

在我几乎 24 小时没有得到任何反馈和研究后,我在对不同资源进行研究后得到了解决问题的方法。

因此,androidx.core.hardware.fingerprint.FingerprintManagerCompat在新可用的 API 28 和 29 中被弃用,取而代之的是另一个可用的类androidx.biometric.BiometricPrompt.

这个新的 BiometricPrompt 更高效,有助于显示标准对话框,以指导用户完成身份验证过程、执行身份验证并将结果报告给应用程序。BiometricPrompt 类具有静态生成器类PromptInfo,可用于配置和创建 BiometricPrompt 实例。

因此,解决方案是根据新可用的API创建BioMetricPrompt的实例:

val biometricPrompt = BiometricPrompt.PromptInfo.Builder()
.setTitle("Biometric Demo")
.setSubtitle("Authentication is required to continue")
.setDescription("This app uses biometric authentication to protect your data.")
.setNegativeButtonText("Cancel")
.build()
BiometricPrompt(this.activity!!, getMainExecutor(this.activity), getAuthenticationCallback()).authenticate(biometricPrompt)

最新更新