Biometric

通过生物识别特征或设备凭据进行身份验证,以及执行加密操作。
最新更新时间 当前稳定版 下一候选版本 Beta 版 Alpha 版
2019 年 12 月 18 日 1.0.1 - - -

声明依赖项

如需添加 Biometric 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

    dependencies {
        implementation "androidx.biometric:biometric:1.0.1"
      }
    

如需详细了解依赖项,请参阅添加构建依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库的改进有自己的见解,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击加注星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.0.1

版本 1.0.1

2019 年 12 月 18 日

发布了 androidx.biometric:biometric:1.0.1版本 1.0.1 中包含这些提交内容

问题修复

  • 将基于加密的身份验证的现有指纹后备解决方案的适用范围扩大到已知受影响的供应商,但同时仍将其限制在 API 28 (b/143361271)
  • 修复了特定设备上生物识别对话框显示在系统叠加层下方的问题 (b/143230260)
  • 修复了几个与 setDeviceCredentialAllowed(true) 有关的问题(b/143091227b/143097321b/143653944
  • 修复了特定 Android 版本中的以下问题:在用户确认其设备凭据后,并不总是会调用 onAuthenticationSuccess (b/145232806)
  • 修复了特定 Android 版本中的以下问题:当系统关闭旋转提示时,并不总是会调用 onAuthenticationError (b/145230042)
  • 修复了特定 Android 版本中的以下问题:在收到某些错误代码时,系统不会关闭提示 (b/143683687)
  • 修复了 BiometricFragment 中的潜在 NullPointerException 问题 (b/142599311)

版本 1.0.0

版本 1.0.0

2019 年 11 月 7 日

发布了 androidx.biometric:biometric:1.0.0,该版本与 1.0.0-rc02 相比没有变化。版本 1.0.0 中包含这些提交内容

1.0.0 的主要功能

  • 已在 Android 10 中实现的 BiometricPromptBiometricManager API 兼容性版本,可向后兼容 Android 6.0 的全部功能 (API 23)
  • FragmentFragmentActivity 中为 BiometricPrompt 内置生命周期管理功能
  • 对已知在基于加密的身份验证期间呈现错误的弱生物识别特性的设备进行特殊处理

版本 1.0.0-rc02

2019 年 10 月 23 日

发布了 androidx.biometric:biometric:1.0.0-rc02版本 1.0.0-rc02 中包含这些提交内容

问题修复

  • 针对以下设备添加了一种解决方案:已知在 API 版本 28 和 29 上调用基于加密的身份验证时会提供错误的弱生物识别特性的设备 (b/142150327)

版本 1.0.0-rc01

2019 年 10 月 9 日

发布了 androidx.biometric:biometric:1.0.0-rc01版本 1.0.0-rc01 中包含这些提交内容

问题修复

  • 修复了在屏幕旋转时关闭 FingerprintDialogFragment 可能会导致崩溃的问题 (b/141356362)
  • 修复了从框架 API 接收 null AuthenticationResult 可能会导致崩溃的问题 (b/138862251)
  • 修复了在 onSaveInstanceState() 之后关闭 BiometricPrompt 导致的崩溃问题 (b/138825362b/140447194

版本 1.0.0-beta02

2019 年 9 月 18 日

发布了 androidx.biometric:biometric:1.0.0-beta02版本 1.0.0-beta02 中包含这些提交内容

问题修复

  • 解决了版本 1.0.0-beta01 中的设备凭据支持问题
  • 移除了 Java 8 依赖项,并切换为依赖于 Java 7 (b/140508526)
  • 现在,在未检测到指纹硬件的情况下,FingerprintHelperFragment 会正确抛出 ERROR_HW_NOT_PRESENT (b/140427586)

版本 1.0.0-beta01

2019 年 8 月 29 日

发布了 androidx.biometric:biometric:1.0.0-beta01版本 1.0.0-beta01 中包含这些提交内容

新功能

我们已为 BiometricPrompt 引入了第二个构造函数,允许将它托管在 Fragment 中(相反,现有构造函数需要 FragmentActivity)。

此外,我们还将下列功能从 Android 10 引入到了 AndroidX Biometric 库中:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. BiometricPrompt.PromptInfo#setDeviceCredentialAllowed

在 Android 10 上,该库将从平台 API 调用对应的方法。在较旧的 API 级别上,库将模拟该行为。

API 变更

  • 针对生物识别提示添加了特定于 Fragment 的构造函数 (b/131980596)
  • 请参阅上文的“新功能”一节。

问题修复

  • 针对 L+ 添加了 BiometricPrompt 设备凭据支持
  • 修复了 BiometricPrompt 以使用公开错误常量 (b/137788194)
  • 修复了 BiometricPrompt.onAttach() 中的 NullPointerException (b/136103103)
  • 将行为更改为不允许通过提示之外的轻触事件取消 BiometricPrompt (b/135684487)
  • 修复了 Kotlin 中返回 null 错误值时发生的 onAuthenticationError 崩溃 (b/128350861)
  • 现在可以设置 FingerprintDialogFragment 的样式 (b/127878106)
  • FingerprintDialog 现在可滚动 (b/126367887)
  • 修复了旋转生物识别对话框引起 IllegalStateException 的错误 (b/124153656)、(b/123811924)
  • 修复了 API 级别 23 到 27 上的不一致行为 (b/124066957)
  • 修复了指纹登录对话框使用 TalkBack 读取错误文本的问题 (b/123572331)

版本 1.0.0-alpha04

2019 年 4 月 3 日

发布了 androidx.biometric:biometric:1.0.0-alpha04。点击此处可查看此版本中包含的提交内容。

问题修复

  • 修复了生物识别 Fragment 在所有情况下都不会清理的问题。(b/121117380)
  • 修复了 BiometricPrompt 仅允许一个 BiometricPrompt.AuthenticationCallback 实例的问题 (b/123857949)
  • 修复了系统和兼容版本之间的 BiometricPrompt 错误行为不一致的问题。(b/123572326)
  • 修复了在运行时使用 @NotNull errString 回调 onAuthenticationError() 导致 NullPointerException 的问题 (b/123167217)
  • 修复了 androidx.BiometricPrompt 取消按钮崩溃 (b/122054485)
  • 修复了 androidx.biometric.PromptInfo 标题/说明在 Android P 上不会变化的问题 (b/122856773)

版本 1.0.0-alpha03

2018 年 12 月 17 日

问题修复

  • 修复了片段相关问题
  • 现在,为了与 P 及更高版本保持一致,在 O 及更早版本设备上会立即返回锁定错误