在 API 29 中初始化 BiometricPrompt
initialize BiometricPrompt in API 29
我正在尝试使用 API 级别 29 的 BioMetricPrompt 在我的应用程序中添加指纹身份验证。
我为此遵循了一些代码,但大多数可用代码都是针对较低级别的 API。在API 29中,BiometricPrompt class 相比低级别API有很大的变化。
我的主要问题是如何为目标 API 为 API 28 或 29 的项目初始化 BiometricPrompt class。
我正在尝试使用 FingerprintManagerCompat 来完成它,但它现在已被弃用。所以,请帮我创建 BiometricPrompt 实例 class.
在将近 24 小时没有得到任何反馈和研究后,我在研究不同的资源后找到了解决问题的方法。
因此,androidx.core.hardware.fingerprint.FingerprintManagerCompat
在新可用的 API 28 和 29 中被弃用,取而代之的是另一个可用的 class,即 androidx.biometric.BiometricPrompt
。
这个新的 BiometricPrompt 更加高效,有助于显示标准对话框以指导用户完成身份验证过程、执行身份验证并将结果报告给应用程序。 BiometricPrompt class 有一个静态构建器 class 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)
我正在尝试使用 API 级别 29 的 BioMetricPrompt 在我的应用程序中添加指纹身份验证。
我为此遵循了一些代码,但大多数可用代码都是针对较低级别的 API。在API 29中,BiometricPrompt class 相比低级别API有很大的变化。
我的主要问题是如何为目标 API 为 API 28 或 29 的项目初始化 BiometricPrompt class。
我正在尝试使用 FingerprintManagerCompat 来完成它,但它现在已被弃用。所以,请帮我创建 BiometricPrompt 实例 class.
在将近 24 小时没有得到任何反馈和研究后,我在研究不同的资源后找到了解决问题的方法。
因此,androidx.core.hardware.fingerprint.FingerprintManagerCompat
在新可用的 API 28 和 29 中被弃用,取而代之的是另一个可用的 class,即 androidx.biometric.BiometricPrompt
。
这个新的 BiometricPrompt 更加高效,有助于显示标准对话框以指导用户完成身份验证过程、执行身份验证并将结果报告给应用程序。 BiometricPrompt class 有一个静态构建器 class 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)