透過集合功能整理內容 你可以依據偏好儲存及分類內容。

生物特徵辨識

使用生物特徵辨識或裝置憑證進行驗證,並執行加密編譯作業。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2021 年 11 月 17 日 1.1.0 - - 1.2.0-alpha04

宣告依附元件

如要新增 Biometric 的依附元件,必須在專案中新增 Google Maven 存放區。詳情請參閱 Google 的 Maven 存放區

在應用程式或模組的 build.gradle 檔案中,新增您需要的成果依附元件:

Groovy

dependencies {
    // Java language implementation
    implementation "androidx.biometric:biometric:1.1.0"

    // Kotlin
    implementation "androidx.biometric:biometric-ktx:1.2.0-alpha04"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.biometric:biometric:1.1.0")

    // Kotlin
    implementation("androidx.biometric:biometric:1.2.0-alpha04")
}

如要進一步瞭解依附元件,請參閱新增建構依附元件一文。

意見回饋

您的意見可協助我們改善 Jetpack。發現新的問題或有改善這個程式庫的想法時,請告訴我們。請先查看此程式庫中的現有問題,再提報新問題。只要按一下星號按鈕,即可投票給現有的問題。

提報新問題

詳情請參閱 Issue Tracker 說明文件

1.2.0 版本

1.2.0-alpha04 版本

2021 年 11 月 17 日

androidx.biometric:biometric:1.2.0-alpha04androidx.biometric:biometric-ktx:1.2.0-alpha04 已發佈。1.2.0-alpha04 版本包含這些修訂版本。

新功能

  • 改善 BiometricPrompt 支援由非活動內容傳遞的片段 (I9312b)

API 異動

修正錯誤

  • 已修正 API 29 問題;部分裝置(包括模擬器)改用 PIN 碼解鎖圖案/密碼時會收到取消錯誤。請注意,針對使用 API 29 的部分裝置,即使可以使用生物特徵辨識並註冊,使用者可能仍會收到螢幕鎖定提示。(b/142740104)
  • 修正 API 29 問題,沒有生物特徵辨識硬體的裝置無法正確改用 PIN 碼/解鎖圖案/密碼的問題 (b/170517889)

1.2.0-alpha03 版本

2021 年 2 月 24 日

發佈 androidx.biometric:biometric:1.2.0-alpha03androidx.biometric:biometric-ktx:1.2.0-alpha031.2.0-alpha03 版本包含這些修訂版本。

API 異動

  • 為 CredentialsAuthPrompt 新增停權協同程式擴充功能,類似於其他 AuthPrompt 類型中存在的擴充功能。(I9ac70)

1.2.0-alpha02 版本

2021 年 1 月 27 日

androidx.biometric:biometric:1.2.0-alpha02androidx.biometric:biometric-ktx:1.2.0-alpha02 發布。1.2.0-alpha02 版本包含這些修訂版本。

API 異動

  • 將某些先前透過建構工具設定的 AuthPrompt 欄位重構為 startAuthentication(...) 方法引數。(I18896, b/174098373)
  • AuthPrompt 類型新增最低 API 級別規定,或為舊版 Android 提供有限支援或不支援這項功能。(I18896)
  • 已為透過建構工具設定的所有 AuthPrompt 欄位新增 getter 方法。(I18896)
  • 新增透過 AuthPrompt API 停權的生物特徵辨識驗證處理常式。這些函式成功傳回 AuthenticationResult 時,或擲回錯誤或失敗的例外狀況(憑證遭拒)。(Iffc9e)

修正錯誤

  • 已修正 BiometricManager.canAuthenticate(int) 有時會針對裝置回傳錯誤狀態碼的問題,該裝置在 Android 10(API 級別 29)搭載了指紋感應器。(I72420, b/176921662)
  • 修正了 BiometricManager.canAuthenticate(int) 有時會針對裝置回傳錯誤狀態碼的問題,該裝置沒有在 Android 10(API 級別 29)以及早期版本 SDK 上搭載生物特徵辨識硬體,沒有註冊 PIN 碼、解鎖圖案或密碼。(I79b7d, b/174505824)
  • 修正記憶體流失問題,當 BiometricPrompt 託管於片段上且生命週期比其相關活動時間更短時會發生此問題。(I70864, b/167014923)

1.2.0-alpha01 版本

2020 年 12 月 2 日

androidx.biometric:biometric:1.2.0-alpha01androidx.biometric:biometric-ktx:1.2.0-alpha01 發布。1.2.0-alpha01 版本包含這些修訂版本。

新功能

  • 推出 androidx.biometric:biometric-ktx 模組,並在 androidx.biometric:biometric 上方新增 Kotlin 專用的 API 和擴充功能。

API 異動

  • 新增 AuthPrompt API,以建構 BiometricPrompt 並執行驗證。這些 API 要求 BiometricPrompt 在早期生命週期回呼中建構,例如 onCreate。(I19022)
  • 已將 Kotlin 擴充功能新增至 FragmentFragmentActivity 以用於新的 AuthPrompt API。(Iaf98c)

1.1.0 版本

1.1.0 版本

2021 年 1 月 27 日

發布 androidx.biometric:biometric:1.1.01.1.0 版含有這些修訂版本。

自 1.0.0 版起的重大異動

  • 新增回溯相容性支援,在 Android 11 中新推出生物特徵辨識驗證功能及 API 更新
  • 大幅縮減程式庫中的應用程式大小(在某些情況下可縮減超過 100 KB)。
  • 移除程式庫先前造成的記憶體流失來源。
  • 修正問題:類別驗證失敗,可能會對舊版 Android 效能造成影響。
  • 針對程式庫的穩定性和行為進行多項額外改善。

1.1.0-rc01 版

2020 年 11 月 11 日

發布 androidx.biometric:biometric:1.1.0-rc011.1.0-rc01 版包含這些修訂版本。

修正錯誤

  • 修正部分裝置的問題,某些操作(例如驗證、取消等)有時會擲回 NullPointerException 的問題。(b/151316421)
  • 修正問題:部分 Pixel 裝置在 Android 10 上透過 BiometricManager#canAuthenticate(int) 檢查類別 3 的生物特徵辨識情況時,會回報錯誤狀態。(b/170406186)

1.1.0-beta01 版本

2020 年 10 月 1 日

發布 androidx.biometric:biometric:1.1.0-beta011.1.0-beta01 版包含這些修訂版本。

新功能

  • 在 Android 8.1 及以下版本中,將對話方塊動畫替換為靜態資產,可大幅減少程式庫的 APK 佔用空間(某些情況下壓縮後減少 100 KB 以上)。(I4844e)
  • 現在鎖定生物特徵驗證功能時,BiometricPrompt 所有支援的 Android 版本都會自動改用裝置憑證驗證(如果允許)。(b/149579143)

修正錯誤

  • 修正 BiometricPrompt 在某些沒有指紋感應器的 Android 9 裝置上當機的問題。(b/151443237)
  • 已修正 FingerprintDialogFragment 中的潛在 NullPointerException。(b/167951429)
  • 修正問題,在 BiometricManager 中使用反式方法叫用錯誤的 CryptoObject 類型。(b/165824669)
  • 修正問題:關閉後,再次迅速顯示 BiometricPrompt,導致在部分 Android 10 裝置自動關閉新提示。(b/157783075)
  • 修正與 FingerprintManagerCompat 使用相關的記憶體流失問題。(b/165840273)
  • 修正問題:部分 Android 9 裝置的指紋對話方塊 UI 未顯示或顯示錯誤。(b/154868505, b/148350291)

1.1.0-alpha02 版本

2020 年 8 月 19 日

androidx.biometric:biometric:1.1.0-alpha02 發布。1.1.0-alpha02 版本包含這些修訂版本。

新功能

  • BiometricManager#canAuthenticate() 可能會傳回 BIOMETRIC_STATUS_UNKNOWN,表示使用者可能仍可驗證,或 BIOMETRIC_ERROR_UNSUPPORTED 表示裝置不支援特定驗證器組合。
  • BiometricPrompt#authenticate() 現在可以在 Android 11(API 級別 30)及以上版本(僅限)透過相關聯的 CryptoObject 進行裝置憑證驗證。

API 異動

修正錯誤

  • 修正 LeakCanary 在 BiometricFragmentBiometricViewModel 中回報的記憶體流失問題。(b/144919472)
  • 確認 BiometricViewModel 不會再從背景執行緒呼叫 MutableLiveData#setValue()。(b/159983244)
  • 修正 BiometricPrompt 無法在部分 API 層級正確處理暫時鎖定的問題。(9acfce9)
  • 修正問題:BiometricPrompt 會在部分 API 層級傳回未啟用螢幕鎖定憑證的裝置,並傳回錯誤代碼。(b/148626482)
  • 修正問題:BiometricManagerBiometricPrompt 會針對在部分 API 層級未導入鍵盤鎖的裝置,傳回錯誤的錯誤代碼。(891c6e0)

1.1.0-alpha01 版本

2020 年 6 月 24 日

發布 androidx.biometric:biometric:1.1.0-alpha011.1.0-alpha01 版本包含這些修訂版本。

新功能

  • 重構內部程式庫實作以解決記憶體流失及其他非預期行為的潛在來源:
    • 內部片段現在可以共用及保留資料,其中使用與用戶端應用程式活動生命週期建立關聯的 ViewModel
    • 在 Android 10(API 級別 29)之前的裝置憑證驗證,不會在用戶端應用程式中啟動透明化活動。

修正錯誤

  • 已解決與使用 FingerprintManagerCompat 相關的淘汰警告訊息。(b/142967618)
  • 變更呼叫 SDK 限制的平台方法,避免在早期 Android 版本上發生類別驗證問題。(94beb4b)
  • 不屬於公開 API 的 Gradle 依附元件將不再從程式庫匯出。(f289d9e)

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 的主要功能

  • BiometricPromptBiometricManager API 的相容性版本,在 Android 10 中實作,支援 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 收到空值 AuthenticationResult 可能會導致當機 (b/138862251)
  • 修正因 BiometricPromptonSaveInstanceState() 之後關閉的當機問題 (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 生物特徵辨識資料庫:

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

在 Android 10 中,程式庫會叫用 Platform API 的對應方法。在較舊的 API 層級中,程式庫會模擬這種行為。

API 異動

  • 新增生物特徵辨識提示的片段專屬建構函式 (b/131980596)
  • 請參閱上方的「新功能」一節。

修正錯誤

  • 為 L+ 新增 BiometricPrompt 裝置憑證支援
  • 已修正 BiometricPrompt 使用公開錯誤常數 (b/137788194)
  • 修正 BiometricPrompt.onAttach() 中的 NullPointerException (b/136103103)
  • 已變更運作模式,禁止系統透過提示以外的觸控事件取消 BiometricPrompt (b/135684487)
  • 已修正在 Kotlin 中傳回空值的錯誤值時發生的 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 發佈。這個版本包含的修訂版本位於這裡

修正錯誤

  • 某些情況下,已修正的生物特徵辨識片段並不會遭到清除。(b/121117380)
  • 固定 BiometricPrompt 僅允許一個 BiometricPrompt.AuthenticationCallback 執行個體 (b/123857949)
  • 修正系統版本和 compat 版本之間的 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 日

修正錯誤

  • 修正片段相關問題
  • 在 O 及以下版本的裝置上,鎖定錯誤將立即傳回,以保持與 P 以上版本一致