Biometria
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
29 maja 2024 r. | 1.1.0 | - | - | 1.4.0-alfa01 |
Deklarowanie zależności
Aby dodać zależność od biometrii, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowy
dependencies { // Java language implementation implementation "androidx.biometric:biometric:1.1.0" // Kotlin implementation "androidx.biometric:biometric-ktx:1.4.0-alpha01" }
Kotlin
dependencies { // Java language implementation implementation("androidx.biometric:biometric:1.1.0") // Kotlin implementation("androidx.biometric:biometric:1.4.0-alpha01") }
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 znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.4
Wersja 1.4.0-alfa01
29 maja 2024 r.
Opublikowano androidx.biometric:biometric:1.4.0-alpha01
i androidx.biometric:biometric-ktx:1.4.0-alpha01
. Ta wersja została opracowana w gałęzi wewnętrznej i jest kierowana na Androida 15 Beta 2.
Poprawki błędów
- Aktualizowanie UI w celu zachowania spójności ze zmianami dotyczącymi platformy w Androidzie 15
Wersja 1.2.0
Wersja 1.2.0-alfa05
21 września 2022 r.
Opublikowano androidx.biometric:biometric:1.2.0-alpha05
i androidx.biometric:biometric-ktx:1.2.0-alpha05
. Wersja 1.2.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano obsługę
CryptoObject
dlaandroid.security.identity.PresentationSession
w Androidzie 13. (C5f1ec, b/197965513)
Poprawki błędów
- Usunięto zbędne warianty zasobów, aby zmniejszyć rozmiar biblioteki. (I3601e, b/220178553)
- Rozwiązanie problemu z usługą
BiometricPrompt
hostowaną w kontekście braku aktywności. (Ife255)
Wersja 1.2.0-alfa04
17 listopada 2021 r.
Opublikowano androidx.biometric:biometric:1.2.0-alpha04
i androidx.biometric:biometric-ktx:1.2.0-alpha04
. Wersja 1.2.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Ulepszona obsługa podpowiedzi biometrycznych w przypadku fragmentów hostowanych przez konteksty braku aktywności (I9312b)
Zmiany w interfejsie API
- Dodano obsługę interfejsu API BiometricManager.Strings w Androidzie 12 (I12f2d).
- Zgodność środowiska docelowego i źródła została zmieniona z Java 7 na Java 8 (I16129).
Poprawki błędów
- Naprawiono błąd w interfejsie API 29, który powodował, że niektóre urządzenia (w tym emulatory) otrzymywały błąd anulowania po powrocie do kodu PIN, wzoru lub hasła. Pamiętaj, że w przypadku niektórych urządzeń korzystających z interfejsu API 29 użytkownik może zobaczyć prośbę o blokadę ekranu, nawet jeśli dostępna i zarejestrowana jest funkcja biometryczna. (b/142740104)
- Naprawiono błąd 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.
Opublikowano androidx.biometric:biometric:1.2.0-alpha03
i androidx.biometric:biometric-ktx:1.2.0-alpha03
. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy rozszerzenia do zawieszania kohort dla CredentialAuthPrompt podobne do tych, które występują w przypadku innych typów AuthPrompt. (I9ac70)
Wersja 1.2.0-alfa02
27 stycznia 2021 r.
Opublikowano androidx.biometric:biometric:1.2.0-alpha02
i androidx.biometric:biometric-ktx:1.2.0-alpha02
. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zrefaktoryzowano niektóre pola
AuthPrompt
, które były wcześniej ustawione za pomocą kreatora, na argumenty metodystartAuthentication(...)
. (I18896, b/174098373) - Dodaliśmy minimalne wymagania dotyczące poziomu interfejsu API dla typów
AuthPrompt
z ograniczoną lub brakującą obsługą w starszych wersjach Androida. (I18896) - Dodano metody pobierania dla wszystkich pól
AuthPrompt
ustawianych za pomocą kreatora. (I18896) - Dodano zawieszanie automatycznych rozszerzeń Kotlin na potrzeby uwierzytelniania biometrycznego przez interfejsy API
AuthPrompt
. Te funkcje zwracają bezpośrednio błądAuthenticationResult
w przypadku powodzenia lub zgłaszają wyjątek w przypadku błędu lub niepowodzenia (odrzucenia danych logowania). (Iffc9e)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że
BiometricManager.canAuthenticate(int)
czasami zwracał 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 na Androidzie 10 (poziom interfejsu API 29) i starszych wersjach pakietu SDK funkcja
BiometricManager.canAuthenticate(int)
zwracała nieprawidłowy kod stanu w przypadku urządzenia bez sprzętu biometrycznego i bez zarejestrowanego kodu PIN, wzoru lub hasła. (I79b7d, b/174505824) - Usunięto wyciek pamięci, gdy element
BiometricPrompt
był hostowany we fragmencie o cyklu życia krótszym niż powiązana z nim aktywność. (I70864, b/167014923)
Wersja 1.2.0-alfa01
Grudzień 2, 2020
Opublikowano androidx.biometric:biometric:1.2.0-alpha01
i androidx.biometric:biometric-ktx:1.2.0-alpha01
. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadziliśmy moduł
androidx.biometric:biometric-ktx
, który oprócz interfejsuandroidx.biometric:biometric
dodaje interfejsy API i rozszerzenia związane z Kotlinem.
Zmiany w interfejsie API
- Dodano nowe interfejsy API
AuthPrompt
do tworzeniaBiometricPrompt
i przeprowadzania uwierzytelniania. Te interfejsy API nie wymagają, byBiometricPrompt
było tworzone we wczesnej fazie cyklu życia wywołania zwrotnego, np.onCreate
. (I19022) - Dodaliśmy rozszerzenia Kotlin do interfejsów
Fragment
iFragmentActivity
dla nowych interfejsów APIAuthPrompt
. (Iaf98c)
Wersja 1.1.0
Wersja 1.1.0
27 stycznia 2021 r.
Aplikacja 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ą do nowych funkcji uwierzytelniania biometrycznego i aktualizacji interfejsu API wprowadzonych w Androidzie 11.
- Znacząco zmniejszono rozmiar aplikacji biblioteki (w niektórych przypadkach o ponad 100 KB).
- Usunięto różne źródła wycieków pamięci, które wcześniej były spowodowane przez bibliotekę.
- Naprawiono błędy weryfikacji zajęć, które mogły wpływać na wydajność na starszych wersjach Androida.
- Wprowadziliśmy różne dodatkowe ulepszenia, aby zwiększyć stabilność i działanie biblioteki.
Wersja 1.1.0-rc01
11 listopada 2020 roku
Aplikacja androidx.biometric:biometric:1.1.0-rc01
została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd, który powodował, że niektóre działania (uwierzytelnianie, anulowanie itp.) czasami powodowały wyświetlenie na niektórych urządzeniach błędu
NullPointerException
. (b/151316421) - Rozwiązaliśmy problem, który powodował, że niektóre urządzenia Pixel zgłaszały nieprawidłowy stan przy użyciu
BiometricManager#canAuthenticate(int)
do sprawdzania biometrii Class 3 na Androidzie 10. (b/170406186)
Wersja 1.1.0-beta01
1 października 2020 roku
Aplikacja androidx.biometric:biometric:1.1.0-beta01
została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Znacząco zmniejszono rozmiar pliku APK biblioteki (w niektórych przypadkach skompresowano o ponad 100 KB) przez zastąpienie animacji dialogów zasobami statycznymi w Androidzie 8.1 i starszych. (I4844e)
- Gdy uwierzytelnianie biometryczne jest zablokowane,
BiometricPrompt
teraz automatycznie wraca do uwierzytelniania za pomocą danych logowania urządzenia (jeśli jest to dozwolone) we 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
wFingerprintDialogFragment
. (b/167951429) - Rozwiązaliśmy problem, który powodował, że do wywoływania metody refleksyjnej w
BiometricManager
był używany nieprawidłowy typCryptoObject
. (b/165824669) - Rozwiązaliśmy problem, który na niektórych urządzeniach z Androidem 10 powodował automatyczne zamknięcie nowego komunikatu o treści
BiometricPrompt
tuż po odrzuceniu. (b/157783075) - Rozwiązaliśmy problem z wyciekami pamięci podczas korzystania z funkcji
FingerprintManagerCompat
. (b/165840273) - Rozwiązaliśmy problemy z ukrywaniem lub nieprawidłowym wyświetlaniem interfejsu okna wyboru odcisku palca na niektórych urządzeniach z Androidem 9. (b/154868505, b/148350291)
Wersja 1.1.0-alfa02
19 sierpnia 2020 r.
Aplikacja androidx.biometric:biometric:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
BiometricManager#canAuthenticate()
może teraz zwracać wartośćBIOMETRIC_STATUS_UNKNOWN
, aby wskazać, że użytkownik może nadal uwierzytelnić się, lubBIOMETRIC_ERROR_UNSUPPORTED
, aby wskazać, że dana kombinacja uwierzytelniania nie jest obsługiwana przez urządzenie.BiometricPrompt#authenticate()
może teraz być używana tylko do uwierzytelniania za pomocą danych logowania urządzenia z powiązanym systememCryptoObject
na Androidzie 11 (poziom API 30) i nowszych.
Zmiany w interfejsie API
- Podanie właściwości
Executor
podczas tworzenia wystąpienia elementuBiometricPrompt
było opcjonalne. (I6bb8a) - Dodano metodę
BiometricManager#canAuthenticate(int)
z Androida 11. (Ia3f1c) - Zaktualizowano
BiometricPrompt
, aby dodać obsługę stałychBiometricManager.Authenticators
z Androida 11. (I39bd8) - Dodano metodę
BiometricPrompt.AuthenticationResult#getAuthenticationType()
z Androida 11. (Icfad5) - Dodaliśmy kod błędu
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
z Androida 11. (I6610b) - Zaktualizowano
BiometricPrompt.CryptoObject
, aby obsługiwałIdentityCredential
na urządzeniach z Androidem 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) BiometricViewModel
nie będzie już wywoływać funkcjiMutableLiveData#setValue()
z wątku w tle. (b/159983244)- Rozwiązaliśmy problem, który powodował, że interfejs
BiometricPrompt
nie obsługiwał tymczasowej blokady na niektórych poziomach interfejsu API. (9acfce9) - Rozwiązaliśmy problem, który powodował, że
BiometricPrompt
zwracał nieprawidłowy kod błędu w przypadku urządzenia, które nie zostało zabezpieczone danymi logowania do blokady ekranu na niektórych poziomach interfejsu API. (b/148626482) - Rozwiązaliśmy problem, który powodował, że w przypadku urządzenia bez implementacji blokady klawiatury na niektórych poziomach API
BiometricManager
iBiometricPrompt
zwracały nieprawidłowe kody błędów. (891c6e0)
Wersja 1.1.0-alfa01
24 czerwca 2020 r.
Aplikacja androidx.biometric:biometric:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Zrefaktoryzowaliśmy implementację biblioteki wewnętrznej, aby rozwiązać potencjalne źródła wycieków pamięci i innych niezamierzonych zachowań:
- Fragmenty wewnętrzne teraz udostępniają i utrwalają dane przy użyciu identyfikatora
ViewModel
powiązanego z cyklem aktywności aplikacji klienckiej. - Uwierzytelnianie danych logowania urządzenia sprzed Androida 10 (poziom interfejsu API 29) nie rozpoczyna już przejrzystej aktywności w aplikacji klienckiej.
- Fragmenty wewnętrzne teraz udostępniają i utrwalają dane przy użyciu identyfikatora
Poprawki błędów
- Usunięto ostrzeżenia o wycofaniu usługi
FingerprintManagerCompat
. (b/142967618) - Zmieniliśmy sposób wywoływania metod platformy ograniczonych 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.
Aplikacja androidx.biometric:biometric:1.0.1
została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Rozszerzyliśmy obecne obejście zastąpienia odciskiem palca w przypadku uwierzytelniania opartego na kryptografii o znanych dostawców, których dotyczy problem, a jednocześnie ograniczyliśmy je do interfejsu API 28 (b/143361271).
- Naprawiono błąd na niektórych urządzeniach, który powodował wyświetlanie okna biometrycznego pod nakładką systemową (b/143230260)
- Naprawiono kilka problemów z
setDeviceCredentialAllowed(true)
(b/143091227, b/143097321, b/143653944) - Rozwiązaliśmy problem z niektórymi wersjami Androida, który powodował, że usługa
onAuthenticationSuccess
nie zawsze była wywoływana po potwierdzeniu danych logowania urządzenia przez użytkownika (b/145232806) - Rozwiązaliśmy problem z niektórymi wersjami Androida, który powodował, że funkcja
onAuthenticationError
nie zawsze była wywoływana po odrzuceniu promptu przy rotacji (b/145230042) - Rozwiązaliśmy problem, który powodował, że w niektórych wersjach Androida prośba nie była odrzucana podczas wyświetlania określonych kodów błędów (b/143683687).
- Naprawiono potencjalny
NullPointerException
wBiometricFragment
(b/142599311)
Wersja 1.0.0
Wersja 1.0.0
7 listopada 2019 r.
Wersja 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 wersji 1.0.0
- Zgodność interfejsów API
BiometricPrompt
iBiometricManager
wdrożona w Androidzie 10, z pełną obsługą Androida 6.0 (API 23) - Wbudowane zarządzanie cyklem życia instancji
BiometricPrompt
w obrębieFragment
lubFragmentActivity
- Specjalna obsługa urządzeń, które nieprawidłowo wykazują słabe dane biometryczne podczas uwierzytelniania kryptograficznego
Wersja 1.0.0-rc02
23 października 2019 r.
Aplikacja 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 mają słabe dane biometryczne podczas wywoływania uwierzytelniania kryptograficznego w interfejsie API w wersjach 28 i 29 (b/142150327).
Wersja 1.0.0-rc01
9 października 2019 r.
Aplikacja androidx.biometric:biometric:1.0.0-rc01
została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Usunięto potencjalną awarię aplikacji
FingerprintDialogFragment
podczas zamykania jej przy obracaniu ekranu (b/141356362). - Rozwiązaliśmy problem, który powodował, że otrzymanie wartości null
AuthenticationResult
z interfejsu API platformy mogło powodować awarię (b/138862251) - Naprawiono awarie powodowane przez zamknięcie usługi
BiometricPrompt
poonSaveInstanceState()
(b/138825362, b/140447194)
Wersja 1.0.0-beta02
18 września 2019 r.
Aplikacja 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
- Usunęliśmy zależności Javy 8 i przełączyliśmy się na wersję w zależności od Javy 7 (b/140508526)
FingerprintHelperFragment
teraz prawidłowo zgłaszaERROR_HW_NOT_PRESENT
, gdy nie zostanie wykryty czytnik linii papilarnych (b/140427586).
Wersja 1.0.0-beta01
29 sierpnia 2019 r.
Aplikacja androidx.biometric:biometric:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
Wprowadziliśmy drugi konstruktor dla BimetricPrompt, który umożliwia przechowywanie go we fragmencie kodu (w przeciwieństwie do istniejącego konstruktora, który wymaga FragmentActivity).
Cieszymy się również, że w bibliotece biometrycznej w Androidzie 10 udostępniliśmy te funkcje:
BiometricManager#canAuthenticate
BiometricPrompt.PromptInfo#setConfirmationRequired
BiometricPrompt.PromptInfo#setDeviceCredentialAllowed
W Androidzie 10 biblioteka wywoła odpowiednie metody z interfejsu API platformy. Na starszych poziomach API biblioteka będzie emulować to zachowanie.
Zmiany w interfejsie API
- Dodano konstruktor fragmentowy na potrzeby promptów biometrycznych (b/131980596)
- Zobacz sekcję „Nowe funkcje” powyżej.
Poprawki błędów
- Dodaj obsługę danych logowania urządzenia BimetricPrompt dla L+
- Naprawiliśmy BimetricPrompt, aby używać publicznych stałych błędów (b/137788194)
- Popraw
NullPointerException
w:BiometricPrompt.onAttach()
(b/136103103) - Zmieniono działanie, aby nie zezwalać na anulowanie promptu biometrycznego w przypadku zdarzenia dotknięcia poza promptem (b/135684487)
- Poprawiono błąd AuthenticationError, gdy w usłudze Kotlin zwracana jest wartość null (b/128350861).
- Można teraz określić styl elementu IntegrationDialogFragment (b/127878106)
- PerspectiveDialog można teraz przewijać (b/126367887)
- Naprawiono błąd polegający na tym, że obrócenie okna biometrycznego powoduje podniesienie powiadomienia
IllegalStateException
(b/124153656), (b/123811924) - Naprawiono niespójne działanie na poziomach API od 23 do 27. (b/124066957)
- Rozwiązaliśmy problem polegający na tym, że okno logowania odciskiem palca odczytuło nieprawidłowy tekst za pomocą TalkBack. (b/123572331)
Wersja 1.0.0-alfa04
3 kwietnia 2019 r.
Aplikacja androidx.biometric:biometric:1.0.0-alpha04
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Poprawki błędów
- Poprawiono fragmenty biometryczne, które nie są czyszczone we wszystkich przypadkach. (b/121117380)
- Stałe
BiometricPrompt
zezwala tylko na 1 wystąpienieBiometricPrompt.AuthenticationCallback
(b/123857949) - Naprawiono niespójność z działaniem błędów
BiometricPrompt
między wersjami systemowymi i kompatybilnymi. (b/123572326) - Poprawiono wywołanie zwrotne
onAuthenticationError()
z@NotNull errString
, które powodujeNullPointerException
w czasie działania (b/123167217) - Usunięto awarie przycisku anulowania
androidx.BiometricPrompt
(b/122054485) - Poprawiono tytuł/opis elementu
androidx.biometric.PromptInfo
na Androidzie P (b/122856773)
Wersja 1.0.0-alfa03
17 grudnia 2018 r.
Poprawki błędów
- Usunięto problemy związane z fragmentami
- Na urządzeniach O i starszych błędy blokowania są zwracane natychmiast, aby zachować zgodność z poziomem P i wyższym