android - 在 API 29 中初始化 BiometricPrompt
问题描述
我正在尝试使用 API 级别 29 的 BioMetricPrompt 在我的应用程序中添加指纹身份验证。
我为此遵循了一些代码,但大多数可用代码都用于较低级别的 API。在 API 29 中,BiometricPrompt 类与低级 API 相比有很大的变化。
我的主要查询是如何为目标 API 为 API 28 或 29 的项目初始化 BiometricPrompt 类。
我正在尝试使用 FingerprintManagerCompat 来做,但现在已弃用。所以,请帮助我创建 BiometricPrompt 类的实例。
解决方案
在我几乎 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)
推荐阅读
- python - Python 3.7.7 SSL socketserver ConnectionResetError: [WinError 10054] 现有连接被远程主机强行关闭
- excel - 如何从 Excel 中的文本字符串中调用正确的数字?
- python - Python Telebot(电报)如何删除链接的自动附加预览?
- python - 如何在 Django 中查询以下用例?
- python - 我可以在 conftest 中设置 pytest 命令行参数吗?
- java - Hadoop 驱动程序类中的 System.out.println
- python - 在 Anaconda 中更新 Python:注册表项错误
- python - 打包 Python 项目及其关联的 IPython 魔术扩展
- python - 如何使用python重新排列数据框行?
- sql - 使用 If else 或 case 方法合并多个相关的 firebird 选择过程