Biometryczne
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
7 sierpnia 2024 r. | 1.1.0 | - | - | 1.4.0-alfa02 |
Deklarowanie zależności
Aby dodać zależność systemu biometrycznego, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
Odlotowe
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ć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji 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-alpha02 zawiera te komity.
Nowe funkcje
PromptContentView
pozwala deweloperom wyświetlać widok treści niestandardowych jako dodatkową opcję widoku zwykłego tekstu opisu- Widoczne jest logo aplikacji w prompcie biometrycznym – dodane automatycznie za pomocą ikony aplikacji.
Zmiany w interfejsie API
- Dodawanie interfejsów API do obsługi widoku niestandardowego treści
BiometricPrompt.PromptInfo.Builder#setContentView
BiometricPrompt.PromptInfo#getContentView
PromptContentView
interfejs- Zajęcia:
PromptVerticalListContentView
- klasa
PromptContentViewWithMoreOptionsButton
(tylko w przypadku aplikacji uprzywilejowanych);
- 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
są dostępne. Ta wersja jest opracowywana w gałęzi wewnętrznej i jest kierowana na Androida 15 w wersji beta 2.
Poprawki błędów
- Zaktualizuj interfejs, aby był zgodny ze zmianami platformy 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-alpha05 zawiera te commity.
Zmiany w interfejsie API
- W Androidzie 13 dodano obsługę
CryptoObject
dlaandroid.security.identity.PresentationSession
. (C5f1ec, b/197965513)
Poprawki błędów
- Usunięto 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-alpha04
17 listopada 2021 r.
androidx.biometric:biometric:1.2.0-alpha04
i androidx.biometric:biometric-ktx:1.2.0-alpha04
są dostępne. Wersja 1.2.0-alpha04 zawiera te commity.
Nowe funkcje
- Ulepszona obsługa promptu biometrycznego w przypadku fragmentów hostowanych przez konteksty inne niż 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 w przypadku niektórych urządzeń (w tym emulatorów) pojawiał się błąd anulowania przy użyciu kodu PIN, wzoru lub hasła. Pamiętaj, że w przypadku niektórych urządzeń z interfejsem API 29 może to spowodować wyświetlenie użytkownikowi prośby o odblokowanie ekranu, nawet jeśli dane biometryczne są dostępne i zarejestrowane. (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-alpha03
24 lutego 2021 r.
androidx.biometric:biometric:1.2.0-alpha03
i androidx.biometric:biometric-ktx:1.2.0-alpha03
są dostępne. Wersja 1.2.0-alpha03 zawiera te komisy.
Zmiany interfejsu API
- Dodaliśmy zawieszanie rozszerzeń współrzędnych dla CredentialAuthPrompt podobnie jak w przypadku innych typów AuthPrompt. (I9ac70)
Wersja 1.2.0-alpha02
27 stycznia 2021 r.
androidx.biometric:biometric:1.2.0-alpha02
i androidx.biometric:biometric-ktx:1.2.0-alpha02
są dostępne. Wersja 1.2.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Niektóre pola
AuthPrompt
, które były wcześniej ustawiane za pomocą konstruktora, zostały przekształcone w argumenty metodystartAuthentication(...)
. (I18896, b/174098373) - Dodano wymagania dotyczące minimalnego poziomu interfejsu API dla typów
AuthPrompt
, które są obsługiwane w ograniczonym zakresie lub wcale nie są obsługiwane w starszych wersjach Androida. (I18896) - Dodano metody gettera dla wszystkich pól
AuthPrompt
, które są ustawiane za pomocą konstruktora. (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
BiometricManager.canAuthenticate(int)
czasami zwracał nieprawidłowy kod stanu dla urządzenia z czujnikiem linii papilarnych w Androidzie 10 (poziom interfejsu API 29). (I72420, b/176921662) - Rozwiązaliśmy problem, który powodował, że
BiometricManager.canAuthenticate(int)
zwracał nieprawidłowy kod stanu na urządzeniu bez sprzętu biometrycznego i bez zarejestrowanego kodu PIN, wzoru lub hasła w Androidzie 10 (poziom interfejsu API 29) i w poprzednich wersjach pakietu SDK. (I79b7d, b/174505824) - Rozwiązaliśmy problem z wyciekiem pamięci, który występował, gdy
BiometricPrompt
był hostowany w fragmencie o krótszym cyklu życia niż powiązana z nim aktywność. (I70864, b/167014923)
Wersja 1.2.0-alpha01
2 grudnia 2020 r.
androidx.biometric:biometric:1.2.0-alpha01
i androidx.biometric:biometric-ktx:1.2.0-alpha01
zostały udostępnione. Wersja 1.2.0-alpha01 zawiera te commity.
Nowe funkcje
- Wprowadziliśmy moduł
androidx.biometric:biometric-ktx
, który dodaje doandroidx.biometric:biometric
interfejsy API i rozszerzenia na potrzeby Kotlina.
Zmiany w interfejsie API
- Dodano nowe interfejsy API
AuthPrompt
do tworzenia obiektuBiometricPrompt
i przeprowadzania uwierzytelniania. Te interfejsy API nie wymagają, aby obiektBiometricPrompt
był tworzony w wczesnym wywołaniu zwrotnym cyklu życia, takim jakonCreate
. (I19022) - Dodano rozszerzenia Kotlina do elementów
Fragment
iFragmentActivity
dla nowych interfejsów APIAuthPrompt
. (Iaf98c)
Wersja 1.1.0
Wersja 1.1.0
27 stycznia 2021 r.
androidx.biometric:biometric:1.1.0
został zwolniony. Wersja 1.1.0 zawiera te zatwierdzenia.
Najważniejsze zmiany od wersji 1.0.0
- Dodano obsługę nowych funkcji uwierzytelniania biometrycznego i aktualizacji interfejsów API wprowadzonych w Androidzie 11.
- znacznie zmniejszyliśmy rozmiar biblioteki aplikacji (w niektórych przypadkach o ponad 100 KB);
- Usunięto różne źródła wycieków pamięci, które były wcześniej 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 dodatkowe ulepszenia stabilności i działania biblioteki.
Wersja 1.1.0-rc01
11 listopada 2020 roku
androidx.biometric:biometric:1.1.0-rc01
został zwolniony. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem występujący na niektórych urządzeniach, w którym niektóre działania (uwierzytelnianie, anulowanie itp.) czasami powodowały błąd
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 commity.
Nowe funkcje
- Znacznie zmniejszyliśmy rozmiar pliku APK biblioteki (w niektórych przypadkach o ponad 100 KB w skompresowanej formie) przez zastąpienie animacji dialogów zasobami statycznymi w Androidzie 8.1 i starszych. (I4844e)
BiometricPrompt
teraz automatycznie przechodzi do uwierzytelniania za pomocą danych logowania na urządzeniu (jeśli jest to dozwolone) we wszystkich obsługiwanych wersjach Androida, gdy uwierzytelnianie biometryczne jest zablokowane. (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 błąd
NullPointerException
w plikuFingerprintDialogFragment
. (b/167951429) - Rozwiązaliśmy problem polegający na tym, że w
BiometricManager
do wywołania metody odbicia lustrzanego użyto nieprawidłowego typuCryptoObject
. (b/165824669) - Rozwiązanie problemu polegającego na tym, że wyświetlenie
BiometricPrompt
ponownie wkrótce po odrzuceniu powodowało automatyczne odrzucenie nowego promptu na niektórych urządzeniach z Androidem 10. (b/157783075) - Naprawiono wycieki pamięci związane z użyciem
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 zwrócićBIOMETRIC_STATUS_UNKNOWN
, aby wskazać, że użytkownik może nadal uwierzytelnić się, lubBIOMETRIC_ERROR_UNSUPPORTED
, aby wskazać, że urządzenie nie obsługuje danej kombinacji uwierzytelniania.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 w interfejsie 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) - Upewnij się, że funkcja
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) - Naprawiono błąd, który powodował, że interfejsy
BiometricManager
iBiometricPrompt
zwracały nieprawidłowe kody błędów w przypadku urządzenia bez zaimplementowanej blokady ekranu na niektórych poziomach interfejsu API. (891c6e0)
Wersja 1.1.0-alpha01
24 czerwca 2020 r.
androidx.biometric:biometric:1.1.0-alpha01
został zwolniony. 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 za pomocą danych logowania na urządzeniu w wersjach Androida starszych niż 10 (poziom interfejsu API 29) nie powoduje już uruchamiania przez aplikację klienta przejrzystej aktywności.
- 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 platformy chronionych przez pakiet SDK, aby uniknąć problemów z weryfikacją klasy w starszych wersjach Androida. (94beb4b)
- Biblioteka nie eksportuje już zależności Gradle, które nie są częścią publicznego interfejsu API. (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
- Rozszerzenie istniejącego obejścia problemu polegającego na użyciu odcisku palca w przypadku uwierzytelniania opartego na kryptografii do znanych dostawców, którzy są dotknięci problemem, a także ograniczenie go do interfejsu API 28 (b/143361271).
- Rozwiązanie problemu na niektórych urządzeniach, w których przypadku okno dialogowe funkcji biometrycznej było wyświetlane pod nakładką systemu (b/143230260).
- Rozwiązano kilka problemów z
setDeviceCredentialAllowed(true)
(b/143091227, b/143097321, b/143653944) - Rozwiązaliśmy problem występujący w niektórych wersjach Androida, w których funkcja
onAuthenticationSuccess
nie była zawsze wywoływana po potwierdzeniu przez użytkownika danych logowania do urządzenia (b/145232806) - Rozwiązaliśmy problem występujący w niektórych wersjach Androida, w których funkcja
onAuthenticationError
nie była zawsze wywoływana, gdy prompt był odrzucany po przechyleniu ekranu (b/145230042). - Rozwiązanie problemu w niektórych wersjach Androida, w których po wyświetleniu niektórych kodów błędów nie można było zamknąć okna z prośbą (b/143683687)
- Usunięto potencjalny błąd
NullPointerException
w funkcjiBiometricFragment
(b/142599311).
Wersja 1.0.0
Wersja 1.0.0
7 listopada 2019 r.
androidx.biometric:biometric:1.0.0
jest publikowany bez zmian od 1.0.0-rc02
. Wersja 1.0.0 zawiera te zatwierdzenia.
Najważniejsze funkcje wersji 1.0.0
- Wersja zgodności interfejsów API
BiometricPrompt
iBiometricManager
zaimplementowanych w Androidzie 10 z pełną obsługą funkcji od Androida 6.0 (poziom interfejsu API 23). - Wbudowane zarządzanie cyklem życia
BiometricPrompt
w ramachFragment
lubFragmentActivity
- Specjalne traktowanie urządzeń, które podczas uwierzytelniania opartego na szyfrowaniu nieprawidłowo prezentują słabe dane biometryczne
Wersja 1.0.0-rc02
23 października 2019 r.
androidx.biometric:biometric:1.0.0-rc02
został zwolniony. 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.
androidx.biometric:biometric:1.0.0-rc01
został zwolniony. Wersja 1.0.0-rc01 zawiera te zatwierdzenia:
Poprawki błędów
- Usunięto potencjalne awarie
FingerprintDialogFragment
, gdy jest ona zamykana podczas obracania 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) - Usunięto awarie spowodowane zamknięciem
BiometricPrompt
poonSaveInstanceState()
(b/138825362, b/140447194)
Wersja 1.0.0-beta02
18 września 2019 r.
androidx.biometric:biometric:1.0.0-beta02
został zwolniony. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problemy z obsługą danych logowania na urządzeniu w wersji
1.0.0-beta01
- Usunięto zależności od Javy 8 i przenieśiono je do Javy 7 (b/140508526)
FingerprintHelperFragment
teraz prawidłowo zgłasza błądERROR_HW_NOT_PRESENT
, gdy nie wykryto czytnika linii papilarnych (b/140427586)
Wersja 1.0.0-beta01
29 sierpnia 2019 r.
androidx.biometric:biometric:1.0.0-beta01
został zwolniony. Wersja 1.0.0-beta01 zawiera te commity.
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ła odpowiednie metody z interfejsu API platformy. W przypadku starszych poziomów interfejsu API biblioteka będzie emulować 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
- Dodanie obsługi danych logowania na urządzeniu w ramach funkcji BiometricPrompt dla L+
- Poprawiono BimetricPrompt, aby używał publicznych stałych błędów (b/137788194).
- Rozwiązanie problemu
NullPointerException
w funkcjiBiometricPrompt.onAttach()
(b/136103103) - Zmieniono zachowanie, aby nie zezwalać na anulowanie promptu biometrycznego przez zdarzenie dotykowe poza promptem (b/135684487)
- Naprawiono awarię onAuthenticationError, gdy w Kotlin zwracana jest wartość null (b/128350861).
- Fragment FingerprintDialogFragment można teraz stylizować (b/127878106)
- FingerprintDialog jest teraz przewijany (b/126367887)
- Naprawiono błąd, który powodował, że obrót okna biometrycznego powoduje podniesienie obiektu
IllegalStateException
(b/124153656) (b/123811924). - Poprawiono niespójności w interfejsach API na poziomach 23–27. (b/124066957)
- Rozwiązaliśmy problem polegający na tym, że okno logowania z odczytem linii papilarnej odczytywało nieprawidłowy tekst za pomocą TalkBack. (b/123572331)
Wersja 1.0.0-alpha04
3 kwietnia 2019 r.
androidx.biometric:biometric:1.0.0-alpha04
został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.
Poprawki błędów
- Naprawione fragmenty biometryczne nie zawsze są usuwane. (b/121117380)
- Naprawiono błąd:
BiometricPrompt
zezwala tylko na 1 występowanie elementuBiometricPrompt.AuthenticationCallback
(b/123857949). - Rozwiązano problem z niespójnym zachowaniem błędu
BiometricPrompt
w wersji systemu i wersji zgodności. (b/123572326) - Naprawiono wywołanie zwrotne
onAuthenticationError()
z@NotNull errString
, które powodujeNullPointerException
w czasie wykonywania (b/123167217) - Naprawiono
androidx.BiometricPrompt
awarie przycisku Anuluj (b/122054485) - Poprawiono błąd polegający na tym, że
androidx.biometric.PromptInfo
tytuł/opis nie zmieniał się w Androidzie P (b/122856773).
Wersja 1.0.0-alpha03
17 grudnia 2018 r.
Poprawki błędów
- Rozwiązano problemy związane z fragmentami
- Na urządzeniach O i starszych błędy blokady są zwracane natychmiast, aby zachować zgodność z urządzeniami P i nowszymi.