Biometrico

Esegui l'autenticazione con la biometria o le credenziali del dispositivo ed esegui operazioni crittografiche.
Aggiornamento più recente Release stabile Candidato per la release Versione beta Release alpha
29 maggio 2024 1.1.0 - - 1.4.0-alpha01

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a Biometric, 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.4.0-alpha01"
}

Kotlin

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

    // Kotlin
    implementation("androidx.biometric:biometric:1.4.0-alpha01")
}

Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. 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.4

Versione 1.4.0-alpha01

29 maggio 2024

androidx.biometric:biometric:1.4.0-alpha01 e androidx.biometric:biometric-ktx:1.4.0-alpha01 vengono rilasciati. Questa versione è sviluppata in un ramo interno ed è destinata ad Android 15 Beta 2.

Correzioni di bug

  • Aggiorna la UI in modo che sia coerente con le modifiche della piattaforma in Android 15

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 della risorsa non necessarie per ridurre le dimensioni della libreria. (I3601e, b/220178553)
  • 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 migliorato del prompt biometrico 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 selezionavano PIN/sequenza/password. Tieni presente che, per alcuni dispositivi con API 29, questo potrebbe causare la richiesta di blocco schermo all'utente anche se un dato biometrico è disponibile e registrato. (b/142740104)
  • Risolto il problema nell'API 29 per cui i dispositivi senza hardware biometrico non tornavano correttamente su 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 la sospensione delle estensioni coroutine 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 di AuthPrompt. Queste funzioni restituiranno AuthenticationResult direttamente in caso di esito positivo oppure genereranno un'eccezione in caso di errore o errore (rifiuto credenziali). (Iffc9e).

Correzioni di bug

  • Risolto il problema per cui a volte BiometricManager.canAuthenticate(int) restituisceva un codice di stato errato per un dispositivo con sensore di impronte digitali su Android 10 (livello API 29). (I72420, b/176921662)
  • Risolto il problema per cui BiometricManager.canAuthenticate(int) restituiva un codice di stato errato per un dispositivo senza hardware biometrico e senza PIN, sequenza o password registrati su Android 10 (livello API 29) e versioni precedenti dell'SDK. (I79b7d, b/174505824)
  • Risolto il problema di perdita di memoria che si verificava quando BiometricPrompt era 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à

  • È stato introdotto il modulo androidx.biometric:biometric-ktx, in cui vengono aggiunte estensioni e API specifiche di Kotlin oltre a androidx.biometric:biometric.

Modifiche alle API

  • Sono state aggiunte nuove API AuthPrompt per creare un BiometricPrompt e eseguire l'autenticazione. Queste API non richiedono la creazione di BiometricPrompt in un callback iniziale del ciclo di vita, 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.

Importanti modifiche 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 introdotti in Android 11.
  • Riduzione significativa delle dimensioni della libreria dell'app (in alcuni casi > 100 kB).
  • Sono state rimosse diverse origini di fughe 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.
  • Apportati diversi miglioramenti aggiuntivi alla stabilità e al comportamento della raccolta.

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 notevolmente le dimensioni degli APK della raccolta (in alcuni casi compressi di oltre 100 kB) sostituendo le animazioni delle finestre di dialogo con asset statici su Android 8.1 e versioni precedenti. (I4844e).
  • Ora BiometricPrompt torna automaticamente all'autenticazione delle credenziali del dispositivo (se consentita) su tutte le versioni di Android supportate quando l'autenticazione biometrica è bloccata. (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)
  • È stato 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)
  • Risolto il problema per cui mostrare di nuovo BiometricPrompt poco dopo l'eliminazione causava la chiusura automatica della nuova richiesta su alcuni dispositivi Android 10. (b/157783075)
  • Risolte le perdite di memoria relative all'utilizzo di FingerprintManagerCompat. (b/165840273)
  • Sono stati risolti i problemi relativi alla UI della finestra di dialogo dell'impronta che 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 o 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.

Modifiche alle API

Correzioni di bug

  • Risolte 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 il problema per cui BiometricPrompt non gestiva correttamente il blocco temporaneo su alcuni livelli API. (9acfce9).
  • Risolto il problema per cui BiometricPrompt restituiva il codice di errore errato per un dispositivo non protetto con credenziali di blocco schermo su alcuni livelli API. (b/148626482)
  • Risolto il problema per cui BiometricManager e BiometricPrompt restituivano 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 parametro 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)
  • È stata modificata la modalità di chiamata dei metodi della piattaforma controllati dall'SDK per evitare problemi di verifica dei corsi 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

  • Estensione ai fornitori noti interessati della soluzione alternativa di riserva delle impronte digitali per l'autenticazione basata su criptovalute, limitatamente 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 il problema in alcune versioni di Android per cui onAuthenticationSuccess non veniva sempre chiamato dopo che l'utente aveva confermato la credenziale del dispositivo (b/145232806)
  • Risolto il 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 quando ricevevano determinati codici di errore (b/143683687)
  • Risolto 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 in Fragment o FragmentActivity
  • Trattamento speciale per i dispositivi che notano erroneamente la presenza di 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 è noto che forniscano in modo errato un dato biometrico debole quando l'autenticazione basata su criptovalute viene richiamata nelle versioni 28 e 29 delle API (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 un possibile arresto anomalo con FingerprintDialogFragment causato dalla chiusura del dispositivo mentre lo schermo è in rotazione (b/141356362)
  • Risolto un problema per cui la ricezione di un valore AuthenticationResult nullo dall'API framework potrebbe causare un arresto anomalo (b/138862251)
  • Arresti anomali corretti causati dalla 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 che dipende da Java (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 il prompt biometrico che ne consente l'hosting in un frammento (al contrario del costruttore esistente, che richiede un'attività FragmentActivity).

Siamo inoltre 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 per il frammento per il prompt biometrico (b/131980596)
  • Consulta la sezione "Nuove funzionalità" riportata sopra.

Correzioni di bug

  • Aggiungi il supporto delle credenziali del dispositivo biometrico per L+
  • Correzione del prompt biometrico per utilizzare le costanti di errore pubbliche (b/137788194)
  • Correggi NullPointerException in BiometricPrompt.onAttach() (b/136103103)
  • Comportamento modificato 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 onAuthenticationError quando in Kotlin viene restituito un valore di errore null (b/128350861)
  • FingerprintDialogFragment è ora disponibile per lo stile (b/127878106)
  • È ora possibile scorrere FingerprintDialog (b/126367887)
  • Risolto il bug per cui la rotazione della finestra di dialogo biometrica genera un valore IllegalStateException (b/124153656), (b/123811924)
  • È stato corretto il comportamento incoerente nei livelli API da 23 a 27. (b/124066957)
  • È stato risolto il problema per cui la finestra di dialogo di accesso con l'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)
  • L'BiometricPrompt fisso consente una sola istanza di BiometricPrompt.AuthenticationCallback (b/123857949)
  • Risolto il comportamento dell'errore BiometricPrompt, incoerente tra la versione di sistema e quella di compatibilità. (b/123572326)
  • Il callback onAuthenticationError() corretto 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 problemi relativi ai frammenti
  • Sui dispositivi O e meno recenti, gli errori di blocco vengono restituiti immediatamente per garantire la coerenza con il valore P e superiore.