生物特徵辨識
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 8 月 7 日 | 1.1.0 | - | - | 1.4.0-alpha02 |
宣告依附元件
如要新增生物特徵辨識的依附元件,必須將 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.4.0-alpha02" }
Kotlin
dependencies { // Java language implementation implementation("androidx.biometric:biometric:1.1.0") // Kotlin implementation("androidx.biometric:biometric:1.4.0-alpha02") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 文件。
1.4 版
1.4.0-alpha02 版
2024 年 8 月 7 日
發布 androidx.biometric:biometric:1.4.0-alpha02
和 androidx.biometric:biometric-ktx:1.4.0-alpha02
。1.4.0-alpha02 版包含這些修訂版本。
新功能
PromptContentView
可讓開發人員顯示自訂內容檢視區塊,做為純文字說明文字檢視區塊的其他選項- 在生物特徵辨識提示上顯示應用程式標誌 - 透過應用程式圖示自動新增。
API 變更
- 新增支援自訂內容檢視畫面的 API
BiometricPrompt.PromptInfo.Builder#setContentView
BiometricPrompt.PromptInfo#getContentView
PromptContentView
介面PromptVerticalListContentView
門課程PromptContentViewWithMoreOptionsButton
類別 (僅適用於具有特殊權限的應用程式)
- 新增 API 以支援標誌 (僅適用於具有特殊權限的應用程式)
BiometricPrompt.PromptInfo.Builder#setLogoBitmap
BiometricPrompt.PromptInfo.Builder#setLogoRes
BiometricPrompt.PromptInfo.Builder#setLogoDescription
BiometricPrompt.PromptInfo#getLogoBitmap
BiometricPrompt.PromptInfo#getLogoRes
BiometricPrompt.PromptInfo#getLogoDescription
58c35c6
修正錯誤
- 將
compileSdk
更新為 35 5dc41be
1.4.0-alpha01 版
2024 年 5 月 29 日
發布 androidx.biometric:biometric:1.4.0-alpha01
和 androidx.biometric:biometric-ktx:1.4.0-alpha01
。這個版本是在內部分支版本中開發,目標為 Android 15 Beta 2。
修正錯誤
- 更新 UI,使其與 Android 15 中的平台變更保持一致
1.2.0 版本
1.2.0-alpha05 版本
2022 年 9 月 21 日
發布 androidx.biometric:biometric:1.2.0-alpha05
和 androidx.biometric:biometric-ktx:1.2.0-alpha05
。1.2.0-alpha05 版本包含以下修訂項目。
API 變更
- 為 Android 13 的
android.security.identity.PresentationSession
新增CryptoObject
支援(C5f1ec、b/197965513)
修正錯誤
- 已移除不必要的資源變化版本,以縮減程式庫大小。(I3601e、b/220178553)
- 已修正在非活動結構定義中代管的
BiometricPrompt
問題。(Ife255)。
1.2.0-alpha04 版本
2021 年 11 月 17 日
發布 androidx.biometric:biometric:1.2.0-alpha04
和 androidx.biometric:biometric-ktx:1.2.0-alpha04
。1.2.0-alpha04 版本包含以下修訂項目。
新功能
- 針對由非活動結構定義代管的片段,改善 BiometricPrompt 支援功能 (I9312b)
API 變更
- 新增對 Android 12 BiometricManager.Strings API 的支援 (I12f2d)
- 已將目標和來源相容性從 Java 7 變更為 Java 8 (I16129)
修正錯誤
- 已修正 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-alpha03
和 androidx.biometric:biometric-ktx:1.2.0-alpha03
。1.2.0-alpha03 版本包含以下修訂項目。
API 變更
- 為 CredentialAuthPrompt 新增停權協同程式擴充功能 類似其他 AuthPrompt 類型中的物件(I9ac70)。
1.2.0-alpha02 版本
2021 年 1 月 27 日
發布 androidx.biometric:biometric:1.2.0-alpha02
和 androidx.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 進行生物特徵辨識驗證的暫停協同程式 Kotlin 擴充功能。這些函式會在成功時直接傳回AuthenticationResult
,或擲回錯誤或失敗的例外狀況 (憑證遭拒)。(Iffc9e)。
修正錯誤
- 已修正
BiometricManager.canAuthenticate(int)
有時會針對搭載 Android 10 (API 級別 29) 指紋感應器的裝置傳回錯誤狀態碼的問題。(I72420、b/176921662) - 修正問題:當裝置沒有生物特徵辨識硬體,且在 Android 10 (API 級別 29) 及舊版 SDK 中,裝置沒有註冊 PIN 碼、解鎖圖案或密碼,
BiometricManager.canAuthenticate(int)
會傳回錯誤的狀態碼。(I79b7d、b/174505824) - 修正記憶體流失問題,當
BiometricPrompt
託管於片段的生命週期比相關活動短時會發生。(I70864、b/167014923)
1.2.0-alpha01 版本
2020 年 12 月 2 日
發布 androidx.biometric:biometric:1.2.0-alpha01
和 androidx.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 擴充功能新增至
Fragment
和FragmentActivity
以用於新的AuthPrompt
API。(Iaf98c)。
1.1.0 版本
1.1.0 版本
2021 年 1 月 27 日
發布 androidx.biometric:biometric:1.1.0
。1.1.0 版本包含以下修訂項目。
自 1.0.0 版起的重大異動
- 新增回溯相容性支援,用於在 Android 11 中推出的新生物特徵辨識驗證功能和 API 更新。
- 大幅減少程式庫中的應用程式大小 (在某些情況下縮減超過 100 KB)。
- 移除程式庫先前造成的記憶體流失來源。
- 修正類別驗證失敗,這些錯誤可能會影響舊版 Android 的效能。
- 針對程式庫的穩定性和行為進行多項額外改善。
1.1.0-rc01 版本
2020 年 11 月 11 日
發布 androidx.biometric:biometric:1.1.0-rc01
。查看 1.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-beta01
。1.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 變更
- 建構
BiometricPrompt
例項時,可選擇是否要提供明確的Executor
(I6bb8a)。 - 新增 Android 11 中的
BiometricManager#canAuthenticate(int)
方法。(Ia3f1c)。 - 已更新
BiometricPrompt
,新增對 Android 11 的BiometricManager.Authenticators
常數支援。(I39bd8)。 - 新增 Android 11 中的
BiometricPrompt.AuthenticationResult#getAuthenticationType()
方法。(Icfad5)。 - 新增 Android 11 中的
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
錯誤代碼。(I6610b)。 - 已更新
BiometricPrompt.CryptoObject
,以便支援 Android 11 (API 級別 30) 以上版本的IdentityCredential
(僅支援)。(I1d9f6)。
修正錯誤
- 修正 LeakCanary 在
BiometricFragment
和BiometricViewModel
中回報的記憶體流失問題。(b/144919472)。 - 確保
BiometricViewModel
不會再從背景執行緒呼叫MutableLiveData#setValue()
。(b/159983244)。 - 修正
BiometricPrompt
無法在部分 API 級別中正確處理暫時鎖定的問題。(9acfce9)。 - 修正問題:
BiometricPrompt
會在部分 API 級別,針對不安全裝置傳回錯誤的錯誤代碼。(b/148626482)。 - 修正問題:在部分 API 級別未實作 Keyguard 的裝置上,
BiometricManager
和BiometricPrompt
會傳回錯誤錯誤代碼。(891c6e0)。
1.1.0-alpha01 版本
2020 年 6 月 24 日
發布 androidx.biometric:biometric:1.1.0-alpha01
。1.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/143091227、b/143097321、b/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 的主要功能
BiometricPrompt
和BiometricManager
API 的相容性版本,於 Android 10 中實作,支援 Android 6.0 (API 23) 的完整功能Fragment
或FragmentActivity
中的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) - 修正因
BiometricPrompt
在onSaveInstanceState()
之後關閉而導致當機的問題 (b/138825362、b/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 生物特徵辨識程式庫:
BiometricManager#canAuthenticate
BiometricPrompt.PromptInfo#setConfirmationRequired
BiometricPrompt.PromptInfo#setDeviceCredentialAllowed
在 Android 10 中,程式庫會從平台 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 以上版本保持一致