Biometrico

Effettua l'autenticazione con la biometria o le credenziali del dispositivo ed esegui operazioni crittografiche.
Aggiornamento più recente 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 a Biometrica, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.

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 saperne di più sulle dipendenze, consulta Aggiungere dipendenze nella build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.

Crea un nuovo numero

Consulta la documentazione di Issue Tracker per ulteriori informazioni.

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 personalizzata 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

  • Aggiunta di API per supportare la visualizzazione del contenuto personalizzata
    • BiometricPrompt.PromptInfo.Builder#setContentView
    • BiometricPrompt.PromptInfo#getContentView
    • Interfaccia PromptContentView
    • PromptVerticalListContentView corso
    • PromptContentViewWithMoreOptionsButton classe (solo per le app con privilegi)
  • Logo Aggiungi API per l'assistenza (solo per le 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 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

Vengono rilasciate le versioni androidx.biometric:biometric:1.2.0-alpha05 e androidx.biometric:biometric-ktx:1.2.0-alpha05. 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 per BiometricPrompt ospitato in contesti di non attività. (Ife255).

Versione 1.2.0-alpha04

17 novembre 2021

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

Nuove funzionalità

  • Supporto dei prompt biometrici migliorato per i frammenti ospitati da contesti di non attività (I9312b)

Modifiche alle API

Correzioni di bug

  • È stato risolto un problema dell'API 29 per cui alcuni dispositivi (inclusi gli emulatori) ricevevano un errore di annullamento quando venissero utilizzati PIN/sequenza/password. Tieni presente che, per alcuni dispositivi con l'API 29, all'utente potrebbe essere richiesto il blocco schermo anche se è disponibile e registrato un dato biometrico. (b/142740104)
  • Risolto un problema dell'API 29 in cui i dispositivi senza hardware biometrico non facevano correttamente ricorso a PIN/sequenza/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 alle API

  • Aggiunta della sospensione delle estensioni coroutine per CredentialAuthPrompt simili a quelli esistenti per altri tipi di AuthPrompt. (I9ac70)

Versione 1.2.0-alpha02

27 gennaio 2021

Vengono rilasciate le versioni androidx.biometric:biometric:1.2.0-alpha02 e androidx.biometric:biometric-ktx:1.2.0-alpha02. 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 in argomenti del metodo startAuthentication(...). (I18896, b/174098373)
  • Sono stati aggiunti requisiti minimi di livello API per i tipi AuthPrompt con assistenza limitata o assente sulle versioni precedenti di Android. (I18896)
  • Sono stati aggiunti metodi getter a tutti i campi AuthPrompt impostati tramite uno strumento di creazione. (I18896)
  • È stata aggiunta la sospensione delle estensioni Coroutine Kotlin per l'autenticazione biometrica tramite le API di AuthPrompt. Queste funzioni restituiranno AuthenticationResult direttamente in caso di esito positivo o genereranno un'eccezione in caso di errore o errore (rifiuto delle credenziali). (Iffc9e)

Correzioni di bug

  • Risolto un problema per cui a volte BiometricManager.canAuthenticate(int) restituiva un 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 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)
  • È stato corretto una perdita di memoria che si verificava quando BiometricPrompt veniva ospitato in un frammento con un ciclo di vita più breve rispetto alla sua attività associata. (I70864, b/167014923)

Versione 1.2.0-alpha01

2 dicembre 2020

Vengono rilasciate le versioni androidx.biometric:biometric:1.2.0-alpha01 e androidx.biometric:biometric-ktx:1.2.0-alpha01. 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 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, 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

  • Aggiunto il supporto compatibile con le versioni precedenti per le nuove funzionalità e gli aggiornamenti API di autenticazione biometrica introdotti in Android 11.
  • Riduzione significativa delle dimensioni dell'app della libreria (di oltre 100 kB, in alcuni casi).
  • Sono state rimosse varie fonti di perdite di memoria in precedenza 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 diversi 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 NullPointerException. (b/151316421)
  • Risolto un problema per cui alcuni dispositivi Pixel segnalavano lo stato errato quando si utilizzava BiometricManager#canAuthenticate(int) per verificare la biometria di Class 3 su Android 10. (b/170406186)

Versione 1.1.0-beta01

1° ottobre 2020

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

Nuove funzionalità

  • È stato ridotto in modo significativo l'ingombro degli APK della raccolta (di oltre 100 kB compressi, in alcuni casi) sostituendo le animazioni delle finestre di dialogo con risorse statiche su Android 8.1 e versioni precedenti. (I4844e)
  • Ora BiometricPrompt ora utilizza automaticamente l'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 legate all'utilizzo di FingerprintManagerCompat. (b/165840273)
  • Sono stati risolti i problemi relativi alla UI della finestra di dialogo dell'impronta nascosta o non corretta su alcuni dispositivi Android 9. (b/154868505, b/148350291)

Versione 1.1.0-alpha02

19 agosto 2020

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

Nuove funzionalità

  • BiometricManager#canAuthenticate() ora può 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 autenticazione non è supportata dal dispositivo.
  • Ora è possibile utilizzare 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

  • 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 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 in alcuni livelli API. (b/148626482)
  • È stato risolto un problema per cui BiometricManager e BiometricPrompt restituivano i codici di errore sbagliati per un dispositivo senza implementazione del tastierino in alcuni livelli API. (891c6e0).

Versione 1.1.0-alpha01

24 giugno 2020

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

Nuove funzionalità

  • È stato eseguito un refactoring dell'implementazione della libreria interna per risolvere le potenziali fonti di perdite di memoria e altri comportamenti indesiderati:
    • I frammenti interni ora condividono e mantengono i dati utilizzando un elemento ViewModel collegato 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 relativi al ritiro relativi all'utilizzo di FingerprintManagerCompat. (b/142967618)
  • È stato cambiato il modo in cui vengono chiamati i metodi della piattaforma basati su SDK 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

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

Correzioni di bug

  • È stata estesa la soluzione alternativa di riserva dell'impronta esistente per l'autenticazione basata su crittografia ai fornitori interessati noti, limitandola anche 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)
  • Risolto un problema su alcune versioni di Android in cui onAuthenticationSuccess non veniva sempre chiamato dopo che l'utente aveva confermato la credenziale 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)
  • Risolto un problema in alcune versioni di Android in 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 di 1.0.0

  • Versione di compatibilità delle API BiometricPrompt e BiometricManager, come 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
  • Gestione speciale per i dispositivi che presentano in modo errato una biometria debole 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 notoriamente forniscono in modo errato un dato biometrico debole quando viene richiamata l'autenticazione basata su crittografia nelle versioni API 28 e 29 (b/142150327)

Versione 1.0.0-rc01

9 ottobre 2019

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

Correzioni di bug

  • È stato risolto un potenziale arresto anomalo con FingerprintDialogFragment quando veniva chiuso 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)
  • 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 di Java 8 e utilizzate a seconda di 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 Fragment (a differenza del costruttore esistente, che richiede un FragmentActivity).

Siamo inoltre entusiasti di portare le seguenti funzionalità di Android 10 nella libreria biometrica AndroidX:

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

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

Modifiche alle API

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

Correzioni di bug

  • Aggiungi il supporto delle credenziali del dispositivo per prompt biometrici per L+
  • Correzione del prompt biometrico per utilizzare le costanti di errore pubbliche (b/137788194)
  • Correggi NullPointerException in BiometricPrompt.onAttach() (b/136103103)
  • È stato modificato il comportamento per non consentire l'annullamento del prompt biometrico da un evento tocco esterno al prompt (b/135684487)
  • Correzione dell'arresto anomalo onAuthenticationError quando in Kotlin viene restituito un valore di errore nullo (b/128350861)
  • Ora è possibile applicare uno stile a FingerprintDialogFragment (b/127878106)
  • Ora è possibile scorrere FingerprintDialog (b/126367887)
  • È stato 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 per cui la finestra di dialogo di accesso con l'impronta leggeva il 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

  • I frammenti biometrici corretti non vengono sempre eliminati. (b/121117380)
  • L'elemento BiometricPrompt fisso 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)
  • Corretto gli arresti anomali del pulsante Annulla di androidx.BiometricPrompt (b/122054485)
  • Titolo/descrizione di androidx.biometric.PromptInfo corretti non modificati su Android P (b/122856773)

Versione 1.0.0-alpha03

17 dicembre 2018

Correzioni di bug

  • Sono stati 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.