Dati biometrici
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.
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
perandroid.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
- Aggiunto il supporto per l'API BiometricManager.Strings di Android 12 (I12f2d)
- Compatibilità di destinazione e origine modificata da Java 7 a Java 8 (I16129)
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 metodostartAuthentication(...)
. (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 restituirannoAuthenticationResult
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 aandroidx.biometric:biometric
.
Modifiche alle API
- Sono state aggiunte nuove API
AuthPrompt
per la creazione di unBiometricPrompt
e l'esecuzione dell'autenticazione. Queste API non richiedono la creazione diBiometricPrompt
in un callback del ciclo di vita iniziale, ad esempioonCreate
. (I19022) - Sono state aggiunte estensioni Kotlin a
Fragment
eFragmentActivity
per le nuove APIAuthPrompt
. (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
inFingerprintDialogFragment
. (b/167951429) - Risolto un problema per cui è stato utilizzato il tipo
CryptoObject
errato per una chiamata a un metodo riflettente inBiometricManager
. (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 restituireBIOMETRIC_STATUS_UNKNOWN
per indicare che l'utente potrebbe essere ancora in grado di autenticarsi, oppureBIOMETRIC_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 unCryptoObject
associato solo su Android 11 (livello API 30) e versioni successive solo.
Modifiche alle API
- È stato reso facoltativo fornire un valore
Executor
esplicito durante la creazione di un'istanza diBiometricPrompt
. (I6bb8a) - Metodo
BiometricManager#canAuthenticate(int)
aggiunto da Android 11. (Ia3f1c) - Aggiornamento di
BiometricPrompt
per aggiungere il supporto delle costantiBiometricManager.Authenticators
a partire da Android 11. (I39bd8) - Metodo
BiometricPrompt.AuthenticationResult#getAuthenticationType()
aggiunto da Android 11. (Icfad5) - È stato aggiunto il codice di errore
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
da Android 11. (I6610b) - Aggiornamento di
BiometricPrompt.CryptoObject
per supportareIdentityCredential
su Android 11 (livello API 30) e versioni successive solo. (I1d9f6)
Correzioni di bug
- Sono state corrette le perdite di memoria segnalate da LeakCanary in
BiometricFragment
eBiometricViewModel
. (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
eBiometricPrompt
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.
- I frammenti interni ora condividono e mantengono i dati utilizzando un
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
inBiometricFragment
(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
eBiometricManager
, 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 unFragment
oFragmentActivity
- 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 giornoonSaveInstanceState()
(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 correttamenteERROR_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:
BiometricManager#canAuthenticate
BiometricPrompt.PromptInfo#setConfirmationRequired
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
inBiometricPrompt.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 diBiometricPrompt.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
causaNullPointerException
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