Biometryczny
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
7 sierpnia 2024 r. | 1.1.0 | - | - | 1.4.0-alfa02 |
Deklarowanie zależności
Aby dodać zależność danych biometrycznych, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .
Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle
aplikacji lub modułu:
Odlotowy
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") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.
Zobacz dokumentację narzędzia Issue Tracker. .
Wersja 1.4
Wersja 1.4.0-alpha02
7 sierpnia 2024 r.
androidx.biometric:biometric:1.4.0-alpha02
i androidx.biometric:biometric-ktx:1.4.0-alpha02
zostały udostępnione. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
PromptContentView
umożliwia deweloperom wyświetlanie niestandardowego widoku treści jako dodatkowej opcji widoku zwykłego opisu.- Widoczne jest logo aplikacji w prompcie biometrycznym – dodane automatycznie za pomocą ikony aplikacji.
Zmiany interfejsu API
- Dodaj interfejsy API, aby obsługiwać niestandardowy widok treści
BiometricPrompt.PromptInfo.Builder#setContentView
BiometricPrompt.PromptInfo#getContentView
- Interfejs
PromptContentView
PromptVerticalListContentView
zajęciaPromptContentViewWithMoreOptionsButton
klasa (tylko w przypadku aplikacji z podwyższonymi uprawnieniami)
- Dodaj interfejsy API do obsługi logo (tylko w przypadku aplikacji z podwyższonymi uprawnieniami)
BiometricPrompt.PromptInfo.Builder#setLogoBitmap
BiometricPrompt.PromptInfo.Builder#setLogoRes
BiometricPrompt.PromptInfo.Builder#setLogoDescription
BiometricPrompt.PromptInfo#getLogoBitmap
BiometricPrompt.PromptInfo#getLogoRes
BiometricPrompt.PromptInfo#getLogoDescription
58c35c6
Poprawki błędów
- Zaktualizuj
compileSdk
do 35 5dc41be
Wersja 1.4.0-alpha01
29 maja 2024 r.
androidx.biometric:biometric:1.4.0-alpha01
i androidx.biometric:biometric-ktx:1.4.0-alpha01
zostały udostępnione. Ta wersja została opracowana w wewnętrznej gałęzi i jest kierowana na Androida 15 w wersji beta 2.
Poprawki błędów
- Zaktualizuj interfejs, aby dostosować go do zmian na platformie w Androidzie 15
Wersja 1.2.0
Wersja 1.2.0-alpha05
21 września 2022 r.
androidx.biometric:biometric:1.2.0-alpha05
i androidx.biometric:biometric-ktx:1.2.0-alpha05
zostały udostępnione. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano obsługę
CryptoObject
dlaandroid.security.identity.PresentationSession
w Androidzie 13. (C5f1ec, b/197965513)
Poprawki błędów
- Usunęliśmy niepotrzebne warianty zasobów, aby zmniejszyć rozmiar biblioteki. (I3601e, b/220178553)
- Rozwiązanie problemu z serwerami
BiometricPrompt
hostowanymi w kontekstach niezwiązanych z aktywnością. (Ife255).
Wersja 1.2.0-alfa04
17 listopada 2021 r.
androidx.biometric:biometric:1.2.0-alpha04
i androidx.biometric:biometric-ktx:1.2.0-alpha04
zostały udostępnione. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Ulepszona obsługa funkcji BimetricPrompt w przypadku fragmentów hostowanych przez konteksty niezwiązane z aktywnością (I9312b).
Zmiany interfejsu API
- Dodaliśmy obsługę interfejsu API BiometricManager.Strings w Androidzie 12 (I12f2d).
- Zgodność środowiska docelowego i źródła z Java 7 na Java 8 (I16129)
Poprawki błędów
- Rozwiązaliśmy problem z interfejsem API 29, który powodował, że niektóre urządzenia (w tym emulatory) pojawiały się w przypadku błędu anulowania po wybraniu kodu PIN, wzoru lub hasła. Pamiętaj, że w przypadku niektórych urządzeń korzystających z interfejsu API 29 może to spowodować, że użytkownik zostanie poproszony o odblokowanie ekranu, nawet jeśli funkcja biometryczna jest dostępna i zarejestrowana. (B/142740104)
- Rozwiązaliśmy problem w interfejsie API 29, który powodował, że urządzenia bez sprzętu biometrycznego nie przełączały się prawidłowo na kod PIN, wzór lub hasło (b/170517889).
Wersja 1.2.0-alfa03
24 lutego 2021 r.
androidx.biometric:biometric:1.2.0-alpha03
i androidx.biometric:biometric-ktx:1.2.0-alpha03
zostały udostępnione. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano do zawieszania rozszerzeń współprogramu dla CredentialAuthPrompt podobnych do tych, które istnieją dla innych typów AuthPrompt. (I9ac70).
Wersja 1.2.0-alfa02
27 stycznia 2021 r.
androidx.biometric:biometric:1.2.0-alpha02
i androidx.biometric:biometric-ktx:1.2.0-alpha02
zostały udostępnione. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zrefaktoryzowano niektóre pola
AuthPrompt
, które zostały wcześniej ustawione za pomocą kreatora, na argumenty metodystartAuthentication(...)
. (I18896, b/174098373) - Dodaliśmy minimalne wymagania dotyczące poziomu interfejsu API w przypadku typów
AuthPrompt
, które nie są obsługiwane w starszych wersjach Androida lub nie są obsługiwane. (I18896) - Dodano metody pobierania dla wszystkich pól
AuthPrompt
skonfigurowanych za pomocą kreatora. (I18896) - Dodano zawieszanie rozszerzeń Kotlin na potrzeby uwierzytelniania biometrycznego przez interfejsy API
AuthPrompt
. Te funkcje zwracają żądanieAuthenticationResult
bezpośrednio w przypadku powodzenia lub w przypadku błędu lub niepowodzenia (odrzucenia danych logowania). (Iffc9e).
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że usługa
BiometricManager.canAuthenticate(int)
czasem zwracała nieprawidłowy kod stanu w przypadku urządzenia z Androidem 10 (poziom interfejsu API 29) z czytnikiem linii papilarnych. (I72420, b/176921662) - Rozwiązaliśmy problem, który powodował, że funkcja
BiometricManager.canAuthenticate(int)
zwracała nieprawidłowy kod stanu w przypadku urządzenia bez sprzętu biometrycznego oraz zarejestrowanego kodu PIN, wzoru lub hasła na Androidzie 10 (poziom interfejsu API 29) i wcześniejszych wersjach pakietu SDK. (I79b7d, b/174505824) - Naprawiliśmy wyciek pamięci, który występował, gdy plik
BiometricPrompt
był hostowany we fragmencie o krótszym cyklu życia niż powiązana z nim aktywność. (I70864, b/167014923)
Wersja 1.2.0-alpha01
Grudzień 2, 2020
androidx.biometric:biometric:1.2.0-alpha01
i androidx.biometric:biometric-ktx:1.2.0-alpha01
zostały udostępnione. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadzono moduł
androidx.biometric:biometric-ktx
, w ramach którego doandroidx.biometric:biometric
dodano interfejsy API i rozszerzenia związane z Kotlin.
Zmiany interfejsu API
- Dodano nowe interfejsy API
AuthPrompt
do tworzeniaBiometricPrompt
i przeprowadzania uwierzytelniania. Te interfejsy API nie wymagają utworzeniaBiometricPrompt
w wywołaniu zwrotnym we wczesnej fazie cyklu życia, np.onCreate
. (I19022) - Do języków
Fragment
iFragmentActivity
dodaliśmy rozszerzenia Kotlin dla nowych interfejsów APIAuthPrompt
. (Iaf98c).
Wersja 1.1.0
Wersja 1.1.0
27 stycznia 2021 r.
Usługa androidx.biometric:biometric:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Dodaliśmy obsługę wsteczną dla nowych funkcji uwierzytelniania biometrycznego i aktualizacji interfejsów API wprowadzonych w Androidzie 11.
- Znacznie zmniejszono rozmiar aplikacji w bibliotece (w niektórych przypadkach nawet o ponad 100 KB).
- Usunięto różne źródła wycieków pamięci, które wcześniej były powodowane przez bibliotekę.
- Rozwiązaliśmy problemy związane z błędami weryfikacji klas, które mogły wpływać na wydajność na starszych wersjach Androida.
- Wprowadziliśmy różne dodatkowe ulepszenia, które poprawiły stabilność i działanie biblioteki.
Wersja 1.1.0-rc01
11 listopada 2020 roku
Usługa androidx.biometric:biometric:1.1.0-rc01
została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem na niektórych urządzeniach, które powodowały, że podczas wykonywania określonych działań (uwierzytelniania, anulowania itp.) czasami pojawiał się
NullPointerException
. (b/151316421) - Rozwiązaliśmy problem, który powodował, że niektóre urządzenia Pixel zgłaszały nieprawidłowy stan podczas sprawdzania biometrii klasy 3 na Androidzie 10 za pomocą funkcji
BiometricManager#canAuthenticate(int)
. (b/170406186)
Wersja 1.1.0-beta01
1 października 2020 roku
Usługa androidx.biometric:biometric:1.1.0-beta01
została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Znacznie zmniejszyliśmy rozmiar pliku APK biblioteki (w niektórych przypadkach nawet skompresowano o ponad 100 KB) dzięki zastąpieniu animacji okien zasobami statycznymi na Androidzie 8.1 i starszych wersjach. (I4844e)
- Gdy uwierzytelnianie biometryczne jest zablokowane,
BiometricPrompt
automatycznie przełącza się teraz na uwierzytelnianie za pomocą danych logowania urządzenia (jeśli jest to dozwolone) na wszystkich obsługiwanych wersjach Androida. (b/149579143)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował awarię aplikacji
BiometricPrompt
na niektórych urządzeniach z Androidem 9 bez czytnika linii papilarnych. (b/151443237) - Naprawiono potencjalny
NullPointerException
w:FingerprintDialogFragment
. (b/167951429) - Rozwiązaliśmy problem, który powodował, że w wywołaniu metody odbicia w
BiometricManager
był używany nieprawidłowy typCryptoObject
. (b/165824669) - Rozwiązaliśmy problem, który powodował, że na niektórych urządzeniach z Androidem 10 ponowne wyświetlenie
BiometricPrompt
wkrótce po zamknięciu powodowało automatyczne zamknięcie nowej prośby. (B/157783075) - Usunięto wycieki pamięci związane z używaniem
FingerprintManagerCompat
. (B/165840273) - Rozwiązaliśmy problemy z nieprawidłowym ukrywaniem lub wyświetlaniem interfejsu okna dialogowego odcisku palca na niektórych urządzeniach z Androidem 9. (b/154868505, b/148350291)
Wersja 1.1.0-alfa02
19 sierpnia 2020 r.
Usługa androidx.biometric:biometric:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
BiometricManager#canAuthenticate()
może teraz zwracać wartośćBIOMETRIC_STATUS_UNKNOWN
, aby wskazać, że użytkownik może nadal być w stanie uwierzytelnić, lubBIOMETRIC_ERROR_UNSUPPORTED
, aby wskazać, że dana kombinacja uwierzytelniania nie jest obsługiwana przez urządzenie.BiometricPrompt#authenticate()
można teraz używać do uwierzytelniania danych logowania urządzenia za pomocą powiązanego kontaCryptoObject
na Androidzie 11 (poziom interfejsu API 30) i nowszym tylko.
Zmiany interfejsu API
- Określono opcjonalnie podawanie wyraźnego atrybutu
Executor
podczas tworzenia wystąpieniaBiometricPrompt
. (I6bb8a). - Dodano metodę
BiometricManager#canAuthenticate(int)
z Androida 11. (Ia3f1c). - Zaktualizowano
BiometricPrompt
, aby dodać obsługę stałychBiometricManager.Authenticators
w Androidzie 11. (I39bd8) - Dodano metodę
BiometricPrompt.AuthenticationResult#getAuthenticationType()
z Androida 11. (Icfad5). - Dodano kod błędu
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
z Androida 11. (I6610B) - Zaktualizowano
BiometricPrompt.CryptoObject
, aby obsługiwałIdentityCredential
tylko na Androidzie 11 (poziom interfejsu API 30) i nowszym tylko. (I1d9f6)
Poprawki błędów
- Naprawiliśmy wycieki pamięci zgłoszone przez LeakCanary w
BiometricFragment
iBiometricViewModel
. (b/144919472) - Usługa
BiometricViewModel
nie będzie już wywoływać funkcjiMutableLiveData#setValue()
z wątku w tle. (b/159983244) - Rozwiązaliśmy problem, który powodował, że usługa
BiometricPrompt
nie obsługiwała prawidłowo tymczasowej blokady na niektórych poziomach interfejsu API. (9acfce9). - Rozwiązaliśmy problem, który powodował, że na niektórych poziomach interfejsu API funkcja
BiometricPrompt
zwracała nieprawidłowy kod błędu w przypadku urządzenia niezabezpieczonego danymi logowania blokady ekranu. (b/148626482) - Rozwiązaliśmy problem, który powodował, że funkcje
BiometricManager
iBiometricPrompt
zwracały nieprawidłowe kody błędów w przypadku urządzenia bez implementacji blokady klucza na niektórych poziomach interfejsu API. (891c6e0)
Wersja 1.1.0-alpha01
24 czerwca 2020 r.
Usługa androidx.biometric:biometric:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Zrefaktoryzowaliśmy implementację biblioteki wewnętrznej, aby rozwiązać problem potencjalnych źródeł wycieków pamięci i innych niezamierzonych zachowań:
- Wewnętrzne fragmenty udostępniają teraz i utrwalają dane za pomocą elementu
ViewModel
powiązanego z cyklem aktywności aplikacji klienckiej. - Uwierzytelnianie danych logowania do urządzenia w wersji wcześniejszej niż Android 10 (poziom interfejsu API 29) nie uruchamia już przejrzystej aktywności w aplikacji klienckiej.
- Wewnętrzne fragmenty udostępniają teraz i utrwalają dane za pomocą elementu
Poprawki błędów
- Rozwiązano ostrzeżenia o wycofaniu dotyczące użycia interfejsu
FingerprintManagerCompat
. (b/142967618) - Zmieniliśmy sposób wywoływania metod platform zablokowanych przez SDK, aby uniknąć problemów z weryfikacją klas w starszych wersjach Androida. (94beb4b)
- Zależności Gradle, które nie są częścią publicznego interfejsu API, nie są już eksportowane przez bibliotekę. (F289d9e)
Wersja 1.0.1
Wersja 1.0.1
18 grudnia 2019 r.
Usługa androidx.biometric:biometric:1.0.1
została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów.
- Rozszerzyliśmy istniejące obejście zastępczego odcisku palca na potrzeby uwierzytelniania opartego na kryptografii o znanych dostawców, których dotyczy problem, oraz ograniczyliśmy je do interfejsu API 28 (b/143361271)
- Rozwiązaliśmy problem na niektórych urządzeniach, na których okno biometryczne było wyświetlane pod nakładką systemową (b/143230260).
- Naprawiono kilka problemów z usługą
setDeviceCredentialAllowed(true)
(b/143091227, b/143097321, b/143653944) - Rozwiązaliśmy problem w niektórych wersjach Androida, który powodował, że usługa
onAuthenticationSuccess
nie była zawsze wywoływana po potwierdzeniu danych logowania urządzenia przez użytkownika (b/145232806) - Rozwiązaliśmy problem w niektórych wersjach Androida, który powodował, że funkcja
onAuthenticationError
nie zawsze była wywoływana po odrzuceniu prośby przy rotacji (b/145230042) - Rozwiązaliśmy problem w niektórych wersjach Androida, który powodował, że w przypadku wystąpienia określonych kodów błędów nie zamykano komunikatu (b/143683687).
- Naprawiono potencjalny
NullPointerException
w:BiometricFragment
(b/142599311).
Wersja 1.0.0
Wersja 1.0.0
7 listopada 2019 r.
Usługa androidx.biometric:biometric:1.0.0
została udostępniona bez zmian od 1.0.0-rc02
. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje 1.0.0
- Wersja zgodna z interfejsami API
BiometricPrompt
iBiometricManager
(wdrożona w Androidzie 10) z pełną obsługą aż do Androida 6.0 (API 23) - Wbudowane zarządzanie cyklem życia
BiometricPrompt
w obrębieFragment
lubFragmentActivity
- Specjalna obsługa urządzeń, o których wiadomo, że nieprawidłowo wyświetlają słabe dane biometryczne podczas uwierzytelniania opartego na kryptografii
Wersja 1.0.0-rc02
23 października 2019 r.
Usługa androidx.biometric:biometric:1.0.0-rc02
została zwolniona. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów.
- Dodaliśmy obejście dla niektórych urządzeń, które nieprawidłowo podają słabe dane biometryczne po wywołaniu uwierzytelniania opartego na kryptografii w interfejsach API w wersjach 28 i 29 (b/142150327).
Wersja 1.0.0-rc01
9 października 2019 r.
Usługa androidx.biometric:biometric:1.0.0-rc01
została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów.
- Naprawiono potencjalną awarię aplikacji
FingerprintDialogFragment
podczas zamykania jej przy obróceniu ekranu (b/141356362) - Rozwiązaliśmy problem, który powodował, że otrzymanie pustego pola
AuthenticationResult
z interfejsu API platformy mogło powodować awarię (b/138862251) - Naprawiliśmy awarie spowodowane odrzuceniem aplikacji
BiometricPrompt
poonSaveInstanceState()
(b/138825362, b/140447194)
Wersja 1.0.0-beta02
18 września 2019 r.
Usługa androidx.biometric:biometric:1.0.0-beta02
została zwolniona. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów.
- Rozwiązaliśmy problemy z obsługą danych logowania urządzenia w wersji
1.0.0-beta01
- Usunięto zależności Javy 8 i przełączono na wersję zgodną z Javą 7 (b/140508526).
FingerprintHelperFragment
teraz prawidłowo wysyłaERROR_HW_NOT_PRESENT
, gdy nie zostanie wykryty żaden czytnik linii papilarnych (b/140427586)
Wersja 1.0.0-beta01
29 sierpnia 2019 r.
Usługa androidx.biometric:biometric:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
Wprowadziliśmy drugi konstruktor do BiometricPrompt, który umożliwia hostowanie go we fragmencie (w przeciwieństwie do istniejącego konstruktora, który wymaga FragmentActivity).
Z przyjemnością wprowadzamy też te funkcje z Androida 10 do biblioteki biometrycznej AndroidaX:
BiometricManager#canAuthenticate
BiometricPrompt.PromptInfo#setConfirmationRequired
BiometricPrompt.PromptInfo#setDeviceCredentialAllowed
W Androidzie 10 biblioteka wywołuje odpowiednie metody z interfejsu API platformy. Na starszych poziomach interfejsu API biblioteka emuluje to zachowanie.
Zmiany interfejsu API
- Dodano konstruktor specyficzny dla fragmentu dla promptu biometrycznego (b/131980596)
- Zobacz sekcję „Nowe funkcje” powyżej.
Poprawki błędów.
- Dodaj obsługę danych logowania urządzenia BimetricPrompt dla L+
- Poprawiono BimetricPrompt, aby używał publicznych stałych błędów (b/137788194).
- Napraw
NullPointerException
wBiometricPrompt.onAttach()
(b/136103103) - Zmieniliśmy działanie, aby nie zezwalać na anulowanie promptu BimetricPrompt przez zdarzenie kliknięcia, które nie występuje w nim (b/135684487)
- Naprawiono awarię onAuthenticationError, gdy w Kotlin zwracana jest wartość null (b/128350861).
- FingerprintDialogFragment można teraz stylizować (b/127878106)
- Rozszerzenie FingerprintDialog można przewijać (b/126367887)
- Naprawiono błąd, który powodował, że obrót okna biometrycznego powoduje podniesienie obiektu
IllegalStateException
(b/124153656) (b/123811924). - Naprawiono niespójność na poziomach interfejsu API na poziomach 23–27. (b/124066957)
- Rozwiązaliśmy problem polegający na tym, że okno logowania odciskiem palca odczytywało nieprawidłowy tekst przy użyciu TalkBack. (b/123572331)
Wersja 1.0.0-alpha04
3 kwietnia 2019 r.
Usługa androidx.biometric:biometric:1.0.0-alpha04
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Poprawki błędów.
- Naprawione fragmenty biometryczne nie zawsze są usuwane. (B/121117380)
- Naprawiony
BiometricPrompt
zezwala tylko na 1 wystąpienieBiometricPrompt.AuthenticationCallback
(b/123857949) - Naprawiliśmy niespójność między wersjami systemu i wersji zgodnych z systemem
BiometricPrompt
. (b/123572326) - Naprawiono wywołanie zwrotne
onAuthenticationError()
(@NotNull errString
) powodująceNullPointerException
w czasie działania (b/123167217) - Naprawiono
androidx.BiometricPrompt
awarie przycisku Anuluj (b/122054485) - Poprawiono błąd związany z tytułem/opisem (
androidx.biometric.PromptInfo
) na Androidzie P (b/122856773)
Wersja 1.0.0-alpha03
17 grudnia 2018 r.
Poprawki błędów.
- Naprawiono problemy związane z fragmentami
- Na urządzeniach O i starszych błędy blokady są zwracane natychmiast, aby były zgodne z ustawieniem P i wyższym