Dati biometrici

Effettua l'autenticazione con le credenziali del dispositivo o con la biometria ed esegui operazioni di crittografia.
Ultimo aggiornamento Release stabile Candidato per l'uscita Versione beta Release alpha
7 agosto 2024 1.1.0 - - 1.4.0-alpha02

Dichiarazione delle dipendenze

Per aggiungere una dipendenza da 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:

Alla moda

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")
}

Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.4

Versione 1.4.0-alpha02

7 agosto 2024

Vengono rilasciate le versioni androidx.biometric:biometric:1.4.0-alpha02 e androidx.biometric:biometric-ktx:1.4.0-alpha02. La versione 1.4.0-alpha02 contiene questi commit.

Nuove funzionalità

  • PromptContentView consente agli sviluppatori di mostrare la visualizzazione dei contenuti personalizzati come opzione aggiuntiva della visualizzazione del testo della descrizione normale
  • Viene mostrato il logo dell'app nel prompt biometrico, aggiunto automaticamente utilizzando l'icona dell'applicazione.

Modifiche alle API

  • Aggiungere API per supportare la visualizzazione dei contenuti personalizzati
    • BiometricPrompt.PromptInfo.Builder#setContentView
    • BiometricPrompt.PromptInfo#getContentView
    • Interfaccia PromptContentView
    • Corso PromptVerticalListContentView
    • Classe PromptContentViewWithMoreOptionsButton (solo per app con privilegi)
  • Aggiungi API per supportare il logo (solo per app con privilegi)
    • BiometricPrompt.PromptInfo.Builder#setLogoBitmap
    • BiometricPrompt.PromptInfo.Builder#setLogoRes
    • BiometricPrompt.PromptInfo.Builder#setLogoDescription
    • BiometricPrompt.PromptInfo#getLogoBitmap
    • BiometricPrompt.PromptInfo#getLogoRes
    • BiometricPrompt.PromptInfo#getLogoDescription 58c35c6

Correzioni di bug

Versione 1.4.0-alpha01

29 maggio 2024

Vengono rilasciate le versioni androidx.biometric:biometric:1.4.0-alpha01 e androidx.biometric:biometric-ktx:1.4.0-alpha01. Questa versione è sviluppata in un ramo interno e ha come target Android 15 Beta 2.

Correzioni di bug

  • Aggiorna l'interfaccia utente in modo che sia coerente con le modifiche alla 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 all'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 un problema relativo a BiometricPrompt ospitato in contesti non di attività. (SeE255)

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 di BiometricPrompt per i frammenti ospitati da contesti non di attività (I9312b)

Modifiche alle API

  • È stato aggiunto il supporto dell'API BiometricManager.Strings di Android 12 (I12f2d)
  • È stata modificata la compatibilità di destinazione e di origine da Java 7 a Java 8 (I16129)

Correzioni di bug

  • È stato risolto un problema nell'API 29 per cui alcuni dispositivi (inclusi gli emulatori) ricevevano un errore di annullamento quando tornavano al PIN/alla sequenza/alla password. Tieni presente che, per alcuni dispositivi con API 29, potrebbe essere richiesto all'utente il blocco schermo anche se è disponibile e registrato un dato biometrico. (b/142740104)
  • È stato risolto un problema nell'API 29 per cui i dispositivi senza hardware biometrico non passavano correttamente al PIN/alla sequenza/alla password (b/170517889)

Versione 1.2.0-alpha03

24 febbraio 2021

Vengono rilasciate le versioni androidx.biometric:biometric:1.2.0-alpha03 e androidx.biometric:biometric-ktx:1.2.0-alpha03. La versione 1.2.0-alpha03 contiene questi commit.

Modifiche all'API

  • Sono state aggiunte estensioni di coroutine in sospensione 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

  • Sono stati sottoposti a refactoring alcuni campi AuthPrompt impostati in precedenza tramite un builder negli argomenti del metodo startAuthentication(...). (I18896, b/174098373)
  • Sono stati aggiunti requisiti di livello API minimi per i tipi di AuthPrompt con supporto limitato o nullo nelle versioni precedenti di Android. (I18896)
  • Sono stati aggiunti metodi di accessorizzazione per tutti i campi AuthPrompt impostati tramite un generatore. (I18896)
  • Sono state aggiunte estensioni Kotlin per le coroutine in sospensione 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 fallimento (rifiuto delle credenziali). (Iffc9e)

Correzioni di bug

  • È stato risolto un problema per cui a volte BiometricManager.canAuthenticate(int) restituiva il codice di stato errato per un dispositivo con un sensore di impronte digitali su Android 10 (livello API 29). (I72420, b/176921662)
  • È stato corretto un problema per cui BiometricManager.canAuthenticate(int) restituiva il 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)
  • È stata corretta una 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, che aggiunge API ed estensioni specifiche per Kotlin a androidx.biometric:biometric.

Modifiche all'API

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

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

Modifiche principali dalla versione 1.0.0

  • È stato aggiunto il supporto compatibile con le versioni precedenti per le nuove funzionalità e gli aggiornamenti dell'API di autenticazione biometrica introdotti in Android 11.
  • È stato ridotto in modo significativo l'impatto delle dimensioni dell'app della raccolta (in alcuni casi di oltre 100 KB).
  • Sono state rimosse varie fonti di perdite di memoria precedentemente causate dalla libreria.
  • Sono stati corretti gli errori di verifica del corso che potevano influire sulle prestazioni nelle versioni precedenti di Android.
  • Sono stati apportati vari miglioramenti aggiuntivi alla stabilità e al comportamento della libreria.

Versione 1.1.0-rc01

11 novembre 2020

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

Correzioni di bug

  • È stato risolto un problema su alcuni dispositivi per cui a volte determinate azioni (autenticazione, annullamento e così via) generavano un errore NullPointerException. (b/151316421)
  • È stato risolto un problema per cui alcuni dispositivi Pixel segnalavano lo stato errato quando veniva utilizzato BiometricManager#canAuthenticate(int) per verificare la presenza di dati biometrici 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à

  • È stato ridotto in modo significativo l'impatto delle dimensioni dell'APK della libreria (in alcuni casi di oltre 100 KB compressi) sostituendo le animazioni della finestra di dialogo con asset statici su Android 8.1 e versioni precedenti. (I4844e)
  • BiometricPrompt ora passa 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

  • È stato risolto un problema per cui BiometricPrompt causava un arresto anomalo su alcuni dispositivi Android 9 senza sensore di impronte digitali. (b/151443237)
  • È stato corretto un potenziale NullPointerException in FingerprintDialogFragment. (b/167951429)
  • È stato risolto un problema per cui veniva utilizzato il tipo di CryptoObject errato per una chiamata al metodo riflettente in BiometricManager. (b/165824669)
  • È stato risolto un problema per cui, dopo la chiusura, la visualizzazione di nuovo BiometricPrompt 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 relativi alla visualizzazione nascosta o errata dell'interfaccia utente della finestra di dialogo per l'impronta 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à

  • Ora BiometricManager#canAuthenticate() può 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 autenticatori non è supportata dal dispositivo.
  • BiometricPrompt#authenticate() ora può essere utilizzato per l'autenticazione delle credenziali del dispositivo con un CryptoObject associato solo su Android 11 (livello API 30) e versioni successive.

Modifiche all'API

Correzioni di bug

  • Sono state corrette le perdite di memoria segnalate da LeakCanary in BiometricFragment e BiometricViewModel. (b/144919472)
  • È stato verificato che BiometricViewModel non chiamerà più MutableLiveData#setValue() da un thread in background. (b/159983244)
  • È stato risolto un problema per cui BiometricPrompt non gestiva correttamente il blocco temporaneo su alcuni livelli dell'API. (9acfce9)
  • È stato risolto un problema per cui BiometricPrompt restituiva il codice di errore errato per un dispositivo non protetto con una credenziale di blocco schermo su alcuni livelli dell'API. (b/148626482)
  • Risolto un problema per cui BiometricManager e BiometricPrompt restituivano codici di errore errati per un dispositivo senza implementazione della schermata di blocco su alcuni livelli dell'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à

  • È stata rifattorizzata l'implementazione della libreria interna per risolvere potenziali fonti di perdite di memoria e altri comportamenti indesiderati:
    • Ora i frammenti interni condividono e mantengono i dati utilizzando un ViewModel associato 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 con limitazioni dell'SDK per evitare problemi di verifica della classe nelle versioni precedenti di Android. (94beb4b)
  • Le dipendenze di 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 la soluzione alternativa esistente per l'impronta digitale per l'autenticazione basata su crittografia ai fornitori interessati noti, limitandola al contempo all'API 28 (b/143361271)
  • È stato risolto un problema su alcuni dispositivi in cui la finestra di dialogo biometrica veniva visualizzata sotto un overlay di sistema (b/143230260)
  • Sono stati risolti diversi problemi relativi a setDeviceCredentialAllowed(true) (b/143091227, b/143097321, b/143653944)
  • È stato risolto un problema in alcune versioni di Android in cui onAuthenticationSuccess non veniva sempre chiamato dopo che l'utente aveva confermato le credenziali del dispositivo (b/145232806)
  • Risolto un problema in alcune versioni di Android per cui onAuthenticationError non veniva sempre chiamato quando il prompt veniva ignorato durante la rotazione (b/145230042)
  • È stato risolto un problema in alcune versioni di Android per cui la richiesta non veniva ignorata quando venivano ricevuti determinati codici di errore (b/143683687)
  • È stato 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 di compatibilità delle API BiometricPrompt e BiometricManager, come implementata in Android 10, con supporto completo delle funzionalità a partire da Android 6.0 (API 23)
  • Gestione del ciclo di vita integrata per BiometricPrompt all'interno di un Fragment o FragmentActivity
  • Trattamento speciale per i dispositivi noti per presentare erroneamente dati biometrici deboli durante l'autenticazione basata su crittografia

Versione 1.0.0-rc02

23 ottobre 2019

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

Correzioni di bug

  • È stata aggiunta una soluzione alternativa per alcuni dispositivi che sono noti per fornire erroneamente un dato biometrico debole quando viene invocata l'autenticazione basata sulla crittografia nelle versioni dell'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

  • È stato corretto un potenziale arresto anomalo con FingerprintDialogFragment quando viene ignorato durante la rotazione dello schermo (b/141356362)
  • Risolto un problema per cui la ricezione di un AuthenticationResult nullo dall'API del framework poteva causare un arresto anomalo (b/138862251)
  • Sono stati corretti gli arresti anomali causati dalla chiusura di BiometricPrompt dopo onSaveInstanceState() (b/138825362, b/140447194)

Versione 1.0.0-beta02

18 settembre 2019

Viene rilasciato androidx.biometric:biometric:1.0.0-beta02. 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
  • Sono state rimosse le dipendenze da Java 8 e si è passati a Java 7 (b/140508526)
  • Ora FingerprintHelperFragment 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

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

Nuove funzionalità

Abbiamo introdotto un secondo costruttore per BiometricPrompt che consente di ospitarlo in un frammento (a differenza del costruttore esistente, che richiede un'attività di frammento).

Siamo inoltre lieti di portare la seguente funzionalità da Android 10 alla libreria AndroidX Biometric:

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

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

Modifiche all'API

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

Correzioni di bug

  • Aggiunta del supporto delle credenziali del dispositivo BiometricPrompt per L+
  • È stato corretto BiometricPrompt in modo che utilizzi costanti di errore pubbliche (b/137788194)
  • Correzione del bug NullPointerException in BiometricPrompt.onAttach() (b/136103103)
  • È stato modificato il comportamento per non consentire l'annullamento di BiometricPrompt da parte di un evento tocco esterno al prompt (b/135684487)
  • È stato corretto l'arresto anomalo di onAuthenticationError quando in Kotlin viene restituito un valore di errore nullo (b/128350861)
  • FingerprintDialogFragment ora è personalizzabile (b/127878106)
  • FingerprintDialog ora è scorrevole (b/126367887)
  • È stato corretto un bug a causa del quale la rotazione della finestra di dialogo biometrica generava un errore 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

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

Correzioni di bug

  • È stato corretto il problema relativo alla mancata eliminazione dei frammenti biometrici in tutti i casi. (b/121117380)
  • BiometricPrompt corretto consente una sola istanza di BiometricPrompt.AuthenticationCallback (b/123857949)
  • È stato corretto il comportamento dell'errore BiometricPrompt incoerente tra le versioni di sistema e compatibili. (b/123572326)
  • Il callback onAuthenticationError() con @NotNull errString causava NullPointerException in fase di runtime (b/123167217)
  • Arresti anomali del pulsante androidx.BiometricPrompt Annulla corretti (b/122054485)
  • È stato corretto il problema relativo al titolo/alla descrizione di androidx.biometric.PromptInfo che non cambia 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, in modo coerente con P e versioni successive.