Biometryczny

Uwierzytelniaj za pomocą danych biometrycznych lub danych logowania do urządzenia i wykonuj operacje kryptograficzne.
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:

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ć 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.

Tworzenie nowego numeru

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ęcia
    • PromptContentViewWithMoreOptionsButton 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 dla android.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

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 metody startAuthentication(...). (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ą żądanie AuthenticationResult 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 do androidx.biometric:biometric dodano interfejsy API i rozszerzenia związane z Kotlin.

Zmiany interfejsu API

  • Dodano nowe interfejsy API AuthPrompt do tworzenia BiometricPrompt i przeprowadzania uwierzytelniania. Te interfejsy API nie wymagają utworzenia BiometricPrompt w wywołaniu zwrotnym we wczesnej fazie cyklu życia, np. onCreate. (I19022)
  • Do języków Fragment i FragmentActivity dodaliśmy rozszerzenia Kotlin dla nowych interfejsów API AuthPrompt. (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 typ CryptoObject. (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ć, lub BIOMETRIC_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 konta CryptoObject na Androidzie 11 (poziom interfejsu API 30) i nowszym tylko.

Zmiany interfejsu API

Poprawki błędów

  • Naprawiliśmy wycieki pamięci zgłoszone przez LeakCanary w BiometricFragment i BiometricViewModel. (b/144919472)
  • Usługa BiometricViewModel nie będzie już wywoływać funkcji MutableLiveData#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 i BiometricPrompt 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.

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 i BiometricManager (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ębie Fragment lub FragmentActivity
  • 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 po onSaveInstanceState() (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ła ERROR_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:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. 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 w BiometricPrompt.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ąpienie BiometricPrompt.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ące NullPointerException 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