android - 适用于 Android M 及更高版本的指纹管理器或生物识别
问题描述
我想知道哪个更好用,Fingerprint Manager 还是 Android pie 9 中引入的新 Biometrics。
我创建了一个聊天应用程序,并且遇到了这个名为Fingerprint Manager的功能。
当我研究它寻找 Android 文档时,我发现他们已经为 Android 9 pie引入了新的生物识别技术。
我项目的最低 SDK 版本是 23(android M),构建 SDK 版本是 28(android Pie)。
我希望这个“指纹功能”在 6 (M) 和 9 (Pie) 之间的 Android 版本中工作。
那么我应该使用Biometrics还是Fingerprint Manager?
如果我使用 Biometrics,它是否也可以在以前的版本中使用?如果是,那么如何使用这个新功能进行编码?
解决方案
最初,我认为这是真的:
真正的答案是完全有效,您将同时使用指纹管理器和新的 BiometricPrompt。
从 API 级别 23 开始,指纹实际上是唯一可用的“生物特征”。随着设备越来越多地向用户提供传感器,Android 发布了 biometricPrompt 类来解释尽可能多的生物特征。这里的目标是允许指纹、面部识别、语音识别等。所有这些对于一心一意的 FingerprintManager 来说都太过分了。因此,从 API28 BiometricPrompt 开始可用。
如果您使用 FingerprintManager,您将需要做更多的工作才能拥有良好的 UI 和功能。当您使用 BiometricPrompt 时,大部分功能都内置在 BiometricPrompt.builder 中。
构建器将在比 API 28 更旧的版本上工作,但从 API 23-27 开始,您可能会通过构建自己的 UI 更喜欢 UX。
@engmms 发布了一篇非常有用的 Medium 文章,关于为两个版本的 android 构建生物识别技术。
但是,进一步的研究和使用允许我编辑和更新这个答案:Androidx 生物识别库是您在应用程序中实现生物识别提示唯一需要的东西。对于库(不是硬件)添加:
implementation "androidx.biometric:biometric:1.0.1"
这个 Androidx 库具有整合 Android 设备中从 Marshmallow 到当前的所有生物识别功能的工具。您可以轻松地使用回调来检查硬件是否存在、检查硬件可用性并检查生物识别注册,然后调用 .canAuthenticate。此外,该库具有用于身份验证的所有 3 个必要回调...onAuthenticationError、onAuthenticationFailed 和 onAuthenticationSuccess。
Androidx BiometricPrompt 还具有逻辑,不仅可以确定是否注册了生物特征,还会查询设备注册了哪个生物特征。这让库可以使用手指、面部和虹膜识别。目前的谷歌手机 Pixel 4 没有指纹扫描仪,但会通过 Androidx 库同时识别面部和虹膜进行身份验证。
推荐阅读
- javascript - 将 flex 属性应用于 React 映射项
- quasar-framework - 进行选择时,如何自定义 Quasar 的 QSelect 以粗体显示文本和轮廓
- c - 如何将 MPI_Reduce 转换为 MPI_Send 和 MPI_Recv?
- r - 如何删除函数中的自动文本?
- python - (优化帮助)在python中寻找5个邮箱投3封信的方法
- python - 我已经开始学习烧瓶,当我运行 home.html 并提交表单时,它会导致您的文件无法访问。对于后端,我使用了烧瓶
- javascript - 当 JWT 过期时注销用户
- memcached - 延迟监控 memcached 刷新
- javascript - 使用多个道具时Vuetify自动完成不显示下拉菜单
- javascript - 如何在模板粘贴脚本中设置延迟?