Dati biometrici

Esegui l'autenticazione con la biometria o le credenziali del dispositivo ed esegui operazioni crittografiche.
Aggiornamento più recente Release stabile Candidato di rilascio Versione beta Versione alpha
21 settembre 2022 1.1.0 - - 1.2.0-alpha05

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a dati biometrici, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Trendy

dependencies {
    // Java language implementation
    implementation "androidx.biometric:biometric:1.1.0"

    // Kotlin
    implementation "androidx.biometric:biometric-ktx:1.2.0-alpha05"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.biometric:biometric:1.1.0")

    // Kotlin
    implementation("androidx.biometric:biometric:1.2.0-alpha05")
}

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Contattaci se scopri nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.2.0

Versione 1.2.0-alpha05

21 settembre 2022

androidx.biometric:biometric:1.2.0-alpha05 e androidx.biometric:biometric-ktx:1.2.0-alpha05 vengono rilasciati. La versione 1.2.0-alpha05 contiene questi commit.

Modifiche alle API

  • Aggiunto il supporto CryptoObject per android.security.identity.PresentationSession in Android 13. (C5f1ec, b/197965513)

Correzioni di bug

  • Sono state rimosse le varianti delle risorse non necessarie per ridurre le dimensioni della libreria. (I3601e, b/220178553)
  • È stato risolto il problema relativo a BiometricPrompt ospitato in contesti non attivi. (Ife255)

Versione 1.2.0-alpha04

17 novembre 2021

androidx.biometric:biometric:1.2.0-alpha04 e androidx.biometric:biometric-ktx:1.2.0-alpha04 vengono rilasciati. La versione 1.2.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Supporto del prompt biometrico migliorato per i frammenti ospitati da contesti non attivi (I9312b)

Modifiche alle API

Correzioni di bug

  • Risolto il problema dell'API 29 per cui alcuni dispositivi (inclusi gli emulatori) ricevevano un errore di annullamento quando si accedeva a PIN/sequenza/password. Tieni presente che, per alcuni dispositivi con API 29, è possibile che all'utente venga richiesto il blocco schermo anche se i dati biometrici sono disponibili e registrati. (b/142740104)
  • Risolto un problema nell'API 29 per cui i dispositivi privi di hardware biometrico non tornavano correttamente a PIN/sequenza/password (b/170517889)

Versione 1.2.0-alpha03

24 febbraio 2021

androidx.biometric:biometric:1.2.0-alpha03 e androidx.biometric:biometric-ktx:1.2.0-alpha03 vengono rilasciati. La versione 1.2.0-alpha03 contiene questi commit.

Modifiche alle API

  • Sono state aggiunte estensioni della coroutine sospese per CredentialAuthPrompt simili a quelle esistenti per altri tipi di AuthPrompt. (I9ac70)

Versione 1.2.0-alpha02

27 gennaio 2021

androidx.biometric:biometric:1.2.0-alpha02 e androidx.biometric:biometric-ktx:1.2.0-alpha02 vengono rilasciati. La versione 1.2.0-alpha02 contiene questi commit.

Modifiche alle API

  • È stato eseguito il refactoring di alcuni campi AuthPrompt precedentemente impostati tramite un builder negli argomenti del metodo startAuthentication(...). (I18896, b/174098373)
  • Sono stati aggiunti requisiti minimi per i livelli API per i tipi AuthPrompt con supporto limitato o assente sulle versioni precedenti di Android. (I18896)
  • Sono stati aggiunti metodi getter per tutti i campi AuthPrompt impostati tramite un builder. (I18896)
  • È stata aggiunta la sospensione delle estensioni Kotlin della coroutine per l'autenticazione biometrica tramite le API AuthPrompt. Queste funzioni restituiranno AuthenticationResult direttamente in caso di esito positivo o genereranno un'eccezione in caso di errore o errore (rifiuto credenziali). (Iffc9e).

Correzioni di bug

  • Risolto un problema per cui BiometricManager.canAuthenticate(int) a volte restituisceva il codice di stato errato per un dispositivo con sensore di impronte digitali su Android 10 (livello API 29). (I72420, b/176921662)
  • Risolto un problema per cui BiometricManager.canAuthenticate(int) restituiva il codice di stato sbagliato per un dispositivo privo di hardware biometrico e senza PIN, sequenza o password registrati su Android 10 (livello API 29) e versioni precedenti dell'SDK. (I79b7d, b/174505824)
  • Risolto un problema di perdita di memoria che si verificava quando BiometricPrompt veniva ospitato in un frammento con un ciclo di vita più breve rispetto all'attività associata. (I70864, b/167014923)

Versione 1.2.0-alpha01

2 dicembre 2020

androidx.biometric:biometric:1.2.0-alpha01 e androidx.biometric:biometric-ktx:1.2.0-alpha01 vengono rilasciati. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Abbiamo introdotto il modulo androidx.biometric:biometric-ktx, che aggiunge API ed estensioni specifiche per Kotlin oltre a androidx.biometric:biometric.

Modifiche alle API

  • Sono state aggiunte nuove API AuthPrompt per la creazione di un BiometricPrompt e l'esecuzione dell'autenticazione. Queste API non richiedono la creazione di BiometricPrompt in un callback del ciclo di vita iniziale, ad esempio onCreate. (I19022)
  • Sono state aggiunte estensioni Kotlin a Fragment e FragmentActivity per le nuove API AuthPrompt. (Iaf98c)

Versione 1.1.0

Versione 1.1.0

27 gennaio 2021

androidx.biometric:biometric:1.1.0 viene rilasciato. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • Aggiunto il supporto compatibile con le versioni precedenti per le nuove funzionalità di autenticazione biometrica e gli aggiornamenti delle API introdotte in Android 11.
  • Riduzione significativa delle dimensioni dell'app della libreria (in alcuni casi di oltre 100 kB).
  • Sono state rimosse diverse fonti di perdite di memoria causate in precedenza dalla libreria.
  • Sono stati risolti gli errori di verifica del corso che potrebbero influire sulle prestazioni nelle versioni precedenti di Android.
  • Sono stati apportati diversi miglioramenti aggiuntivi alla stabilità e al comportamento della libreria.

Versione 1.1.0-rc01

11 novembre 2020

androidx.biometric:biometric:1.1.0-rc01 viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.

Correzioni di bug

  • Risolto il problema su alcuni dispositivi per cui determinate azioni (autenticazione, annullamento e così via) a volte generavano un'NullPointerException. (b/151316421)
  • Risolto un problema per cui alcuni dispositivi Pixel segnalavano lo stato errato quando si utilizzava BiometricManager#canAuthenticate(int) per controllare la biometria di Classe 3 su Android 10. (b/170406186)

Versione 1.1.0-beta01

1° ottobre 2020

androidx.biometric:biometric:1.1.0-beta01 viene rilasciato. La versione 1.1.0-beta01 contiene questi commit.

Nuove funzionalità

  • Ha ridotto significativamente l'impatto delle dimensioni degli APK della raccolta (di oltre 100 kB compressi, in alcuni casi) sostituendo le animazioni delle finestre di dialogo con asset statici su Android 8.1 e versioni precedenti. (I4844e)
  • Quando l'autenticazione biometrica viene bloccata, BiometricPrompt ora torna automaticamente all'autenticazione delle credenziali del dispositivo (se consentita) su tutte le versioni di Android supportate. (b/149579143)

Correzioni di bug

  • Risolto un problema per cui BiometricPrompt causava un arresto anomalo su alcuni dispositivi Android 9 privi di sensore di impronte digitali. (b/151443237)
  • Corretto un potenziale NullPointerException in FingerprintDialogFragment. (b/167951429)
  • Risolto un problema per cui è stato utilizzato il tipo CryptoObject errato per una chiamata a un metodo riflettente in BiometricManager. (b/165824669)
  • È stato risolto un problema per cui la visualizzazione di BiometricPrompt di nuovo subito dopo l'eliminazione causava la chiusura automatica della nuova richiesta su alcuni dispositivi Android 10. (b/157783075)
  • Sono state corrette le perdite di memoria relative all'utilizzo di FingerprintManagerCompat. (b/165840273)
  • Sono stati risolti i problemi a causa del quale l'interfaccia utente della finestra di dialogo dell'impronta veniva nascosta o mostrata in modo errato su alcuni dispositivi Android 9. (b/154868505, b/148350291)

Versione 1.1.0-alpha02

19 agosto 2020

androidx.biometric:biometric:1.1.0-alpha02 viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • BiometricManager#canAuthenticate() ora potrebbe restituire BIOMETRIC_STATUS_UNKNOWN per indicare che l'utente potrebbe essere ancora in grado di autenticarsi, oppure BIOMETRIC_ERROR_UNSUPPORTED per indicare che una determinata combinazione di autenticatore non è supportata dal dispositivo.
  • Ora è possibile usare BiometricPrompt#authenticate() per l'autenticazione delle credenziali del dispositivo con un CryptoObject associato solo su Android 11 (livello API 30) e versioni successive solo.

Modifiche alle API

Correzioni di bug

  • Sono state corrette le perdite di memoria segnalate da LeakCanary in BiometricFragment e BiometricViewModel. (b/144919472)
  • Verificato che BiometricViewModel non chiamerà più MutableLiveData#setValue() da un thread in background. (b/159983244)
  • Risolto un problema per cui BiometricPrompt non gestiva correttamente il blocco temporaneo su alcuni livelli API. (9acfce9)
  • Risolto il problema per cui BiometricPrompt restituisceva il codice di errore sbagliato per un dispositivo non protetto con credenziali di blocco schermo su alcuni livelli API. (b/148626482)
  • Risolto il problema per cui BiometricManager e BiometricPrompt restituiranno i codici di errore sbagliati per un dispositivo senza implementazione del blocco tastiera su alcuni livelli API. (891c6e0)

Versione 1.1.0-alpha01

24 giugno 2020

androidx.biometric:biometric:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • È stato eseguito il refactoring dell'implementazione della libreria interna per risolvere potenziali fonti di perdite di memoria e altri comportamenti indesiderati:
    • I frammenti interni ora condividono e mantengono i dati utilizzando un ViewModel legato al ciclo di vita dell'attività dell'applicazione client.
    • L'autenticazione delle credenziali del dispositivo precedente ad Android 10 (livello API 29) non avvia più un'attività trasparente all'interno dell'applicazione client.

Correzioni di bug

  • Sono stati risolti gli avvisi di ritiro relativi all'utilizzo di FingerprintManagerCompat. (b/142967618)
  • È stato cambiato il modo in cui i metodi della piattaforma gestita dall'SDK vengono chiamati per evitare problemi di verifica del corso nelle versioni precedenti di Android. (94beb4b)
  • Le dipendenze Gradle che non fanno parte dell'API pubblica non vengono più esportate dalla libreria. (f289d9e)

Versione 1.0.1

Versione 1.0.1

18 dicembre 2019

androidx.biometric:biometric:1.0.1 viene rilasciato. La versione 1.0.1 contiene questi commit.

Correzioni di bug

  • È stata estesa ai fornitori noti interessati la soluzione alternativa di riserva basata su fingerprint esistente per l'autenticazione basata su criptovalute, ma è stata limitata anche all'API 28 (b/143361271)
  • Risolto un problema su alcuni dispositivi in cui la finestra di dialogo biometrica veniva mostrata sotto un overlay di sistema (b/143230260)
  • Risolti diversi problemi relativi a setDeviceCredentialAllowed(true) (b/143091227, b/143097321, b/143653944)
  • Risolto un problema in alcune versioni di Android per cui onAuthenticationSuccess non veniva sempre chiamato dopo che l'utente ha confermato la credenziale del suo dispositivo (b/145232806)
  • Risolto un problema in alcune versioni di Android per cui onAuthenticationError non veniva sempre chiamato quando la richiesta veniva ignorata durante la rotazione (b/145230042)
  • Risolto il problema in alcune versioni di Android per cui la richiesta non veniva ignorata alla ricezione di determinati codici di errore (b/143683687)
  • Corretto un potenziale NullPointerException in BiometricFragment (b/142599311)

Versione 1.0.0

Versione 1.0.0

7 novembre 2019

androidx.biometric:biometric:1.0.0 viene rilasciato senza modifiche dal giorno 1.0.0-rc02. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

  • Versione compatibile con le API BiometricPrompt e BiometricManager, implementata in Android 10, con supporto completo delle funzionalità fino ad Android 6.0 (API 23)
  • Gestione integrata del ciclo di vita per BiometricPrompt all'interno di un Fragment o FragmentActivity
  • Gestione speciale dei dispositivi che presentano in modo errato dati biometrici deboli durante l'autenticazione basata su criptovalute

Versione 1.0.0-rc02

23 ottobre 2019

androidx.biometric:biometric:1.0.0-rc02 viene rilasciato. La versione 1.0.0-rc02 contiene questi commit.

Correzioni di bug

  • È stata aggiunta una soluzione alternativa per alcuni dispositivi che notoriamente forniscono erroneamente dati biometrici inefficaci quando l'autenticazione basata su criptovalute viene richiamata nelle versioni API 28 e 29 (b/142150327)

Versione 1.0.0-rc01

9 ottobre 2019

androidx.biometric:biometric:1.0.0-rc01 viene rilasciato. La versione 1.0.0-rc01 contiene questi commit.

Correzioni di bug

  • Risolto il problema di un possibile arresto anomalo con FingerprintDialogFragment causato dalla chiusura dell'app mentre lo schermo è in rotazione (b/141356362)
  • Risolto il problema per cui la ricezione di un valore AuthenticationResult nullo dall'API Framework poteva causare un arresto anomalo (b/138862251)
  • Arresti anomali corretti a causa della chiusura di BiometricPrompt dopo il giorno onSaveInstanceState() (b/138825362, b/140447194)

Versione 1.0.0-beta02

18 settembre 2019

androidx.biometric:biometric:1.0.0-beta02 viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.

Correzioni di bug

  • Sono stati risolti i problemi relativi al supporto delle credenziali del dispositivo nella versione 1.0.0-beta01
  • Rimosse le dipendenze Java 8 e passaggio a Java 7 (b/140508526)
  • FingerprintHelperFragment ora genera correttamente ERROR_HW_NOT_PRESENT quando non viene rilevato alcun hardware per l'impronta (b/140427586)

Versione 1.0.0-beta01

29 agosto 2019

androidx.biometric:biometric:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Nuove funzionalità

Abbiamo introdotto un secondo costruttore per BiometricPrompt che ne consente l'hosting in un frammento (anziché nel costruttore esistente, che richiede un'attività FragmentActivity).

Inoltre, siamo entusiasti di portare le seguenti funzionalità di Android 10 nella libreria biometrica di AndroidX:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. BiometricPrompt.PromptInfo#setDeviceCredentialAllowed

Su Android 10, la libreria richiama i metodi corrispondenti dall'API Platform. Nei livelli API precedenti, la libreria emulerà il comportamento.

Modifiche alle API

  • Aggiunto il costruttore specifico del frammento per il prompt biometrico (b/131980596)
  • Vedi la sezione "Nuove funzionalità" qui sopra.

Correzioni di bug

  • Aggiungi il supporto delle credenziali del dispositivo BiometricPrompt per L+
  • Correzione del prompt biometrico per utilizzare le costanti di errore pubbliche (b/137788194)
  • Correggi NullPointerException in BiometricPrompt.onAttach() (b/136103103)
  • Modifica del comportamento per non consentire l'annullamento del prompt biometrico a causa di un evento di tocco al di fuori del prompt (b/135684487)
  • Risolto l'arresto anomalo onAutenticazioneError quando viene restituito un valore di errore null in Kotlin (b/128350861)
  • È ora possibile applicare uno stile a FingerprintDialogFragment (b/127878106)
  • FingerprintDialog è ora scorrevole (b/126367887)
  • Corretto il bug per cui la rotazione della finestra di dialogo biometrica generava un IllegalStateException (b/124153656), (b/123811924)
  • È stato corretto il comportamento incoerente nei livelli API da 23 a 27. (b/124066957)
  • È stato risolto il problema a causa del quale la finestra di dialogo di accesso tramite impronta leggeva un testo errato utilizzando TalkBack. (b/123572331)

Versione 1.0.0-alpha04

3 aprile 2019

androidx.biometric:biometric:1.0.0-alpha04 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • I frammenti biometrici corretti non vengono eliminati in tutti i casi. (b/121117380)
  • Il valore BiometricPrompt fisso consente una sola istanza di BiometricPrompt.AuthenticationCallback (b/123857949)
  • Risolto il comportamento dell'errore BiometricPrompt incoerente tra le versioni di sistema e quelle di compatibilità. (b/123572326)
  • Corretto il callback onAuthenticationError() con @NotNull errString causa NullPointerException in fase di runtime (b/123167217)
  • Risolto il problema degli arresti anomali del pulsante Annulla di androidx.BiometricPrompt (b/122054485)
  • Titolo/descrizione androidx.biometric.PromptInfo corretti non modificati su Android P (b/122856773)

Versione 1.0.0-alpha03

17 dicembre 2018

Correzioni di bug

  • Risolti i problemi relativi ai frammenti
  • Sui dispositivi O e precedenti, gli errori di blocco vengono restituiti immediatamente per essere coerenti con P e con livelli successivi