Biometric
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
7 août 2024 | 1.1.0 | - | - | 1.4.0-alpha02 |
Déclarer des dépendances
Pour ajouter une dépendance sur Biometric, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances des artefacts dont vous avez besoin dans le fichier build.gradle
de votre application ou module :
Groovy
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") }
Pour en savoir plus sur les dépendances, consultez la page Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.4
Version 1.4.0-alpha02
7 août 2024
Publication d'androidx.biometric:biometric:1.4.0-alpha02
et d'androidx.biometric:biometric-ktx:1.4.0-alpha02
. La version 1.4.0-alpha02 contient ces commits.
Nouvelles fonctionnalités
PromptContentView
permet aux développeurs d'afficher la vue de contenu personnalisée en tant qu'option supplémentaire de la vue de texte de description standard.- Le logo de l'application s'affiche dans l'invite biométrique. Il est ajouté automatiquement à l'aide de l'icône de l'application.
Modifications apportées à l'API
- Ajout d'API pour prendre en charge la vue de contenu personnalisée
BiometricPrompt.PromptInfo.Builder#setContentView
BiometricPrompt.PromptInfo#getContentView
- Interface
PromptContentView
- Classe
PromptVerticalListContentView
- Classe
PromptContentViewWithMoreOptionsButton
(pour les applications privilégiées uniquement)
- Ajouter des API pour prendre en charge le logo (pour les applications privilégiées uniquement)
BiometricPrompt.PromptInfo.Builder#setLogoBitmap
BiometricPrompt.PromptInfo.Builder#setLogoRes
BiometricPrompt.PromptInfo.Builder#setLogoDescription
BiometricPrompt.PromptInfo#getLogoBitmap
BiometricPrompt.PromptInfo#getLogoRes
BiometricPrompt.PromptInfo#getLogoDescription
58c35c6
Correction de bugs
- Mise à jour de
compileSdk
vers 35 5dc41be
Version 1.4.0-alpha01
29 mai 2024
Publication d'androidx.biometric:biometric:1.4.0-alpha01
et d'androidx.biometric:biometric-ktx:1.4.0-alpha01
. Cette version est développée dans une branche interne et cible Android 15 bêta 2.
Correction de bugs
- Mettre à jour l'UI pour suivre les modifications apportées à la plate-forme dans Android 15
Version 1.2.0
Version 1.2.0-alpha05
21 septembre 2022
Publication d'androidx.biometric:biometric:1.2.0-alpha05
et d'androidx.biometric:biometric-ktx:1.2.0-alpha05
. Liste des commits de la version 1.2.0-alpha05
Modifications apportées à l'API
- Ajout de la compatibilité d'
android.security.identity.PresentationSession
avecCryptoObject
sur Android 13. (C5f1ec, b/197965513)
Correction de bugs
- Suppression des variantes de ressources inutiles pour réduire la taille de la bibliothèque. (I3601e, b/220178553)
- Correction d'un problème lorsque
BiometricPrompt
est hébergé dans des contextes hors activité. (Ife255)
Version 1.2.0-alpha04
17 novembre 2021
Publication d'androidx.biometric:biometric:1.2.0-alpha04
et d'androidx.biometric:biometric-ktx:1.2.0-alpha04
. Liste des commits de la version 1.2.0-alpha04
Nouvelles fonctionnalités
- Amélioration de la prise en charge de "BiometricPrompt" pour les fragments hébergés par des contextes hors activité. (I9312b)
Modifications apportées à l'API
- Ajout de la prise en charge de l'API BiometricManager.Strings d'Android 12. (I12f2d)
- Passage de Java 7 à Java 8 pour la compatibilité cible et source. (I16129)
Correction de bugs
- Correction d'un problème lié au niveau d'API 29 provoquant une erreur d'annulation pour certains appareils (y compris les émulateurs) lors du retour au code PIN, au schéma ou au mot de passe. Notez que pour certains appareils utilisant le niveau d'API 29, l'utilisateur peut être invité à verrouiller l'écran, même si une biométrie est disponible et enregistrée. (b/142740104)
- Correction d'un problème lié au niveau d'API 29 empêchant les appareils sans matériel biométrique de revenir correctement au code PIN, au schéma ou au mot de passe. (b/170517889)
Version 1.2.0-alpha03
24 février 2021
Publication d'androidx.biometric:biometric:1.2.0-alpha03
et d'androidx.biometric:biometric-ktx:1.2.0-alpha03
. Liste des commits de la version 1.2.0-alpha03
Modifications apportées à l'API
- Ajout d'extensions de coroutine de suspension pour "CredentialAuthPrompt", semblables à celles existantes pour d'autres types de "AuthPrompt". (I9ac70)
Version 1.2.0-alpha02
27 janvier 2021
Publication d'androidx.biometric:biometric:1.2.0-alpha02
et d'androidx.biometric:biometric-ktx:1.2.0-alpha02
. Liste des commits de la version 1.2.0-alpha02
Modifications apportées à l'API
- Refactorisation de certains champs
AuthPrompt
précédemment définis via un compilateur en arguments de méthodestartAuthentication(...)
. (I18896, b/174098373) - Ajout d'exigences minimales concernant le niveau d'API pour les types
AuthPrompt
avec une compatibilité limitée ou inexistante sur les anciennes versions d'Android. (I18896) - Ajout de méthodes "getter" pour tous les champs
AuthPrompt
définis via un compilateur. (I18896) - Ajout des extensions Kotlin de coroutine de suspension pour l'authentification biométrique via les API
AuthPrompt
. Ces fonctions renvoient leAuthenticationResult
directement en cas de réussite ou génèrent une exception en cas d'erreur ou d'échec (refus des identifiants). (Iffc9e)
Correction de bugs
- Correction d'un problème provoquant parfois le renvoi par
BiometricManager.canAuthenticate(int)
d'un code d'état incorrect pour un appareil équipé d'un lecteur d'empreinte digitale sur Android 10 (niveau d'API 29). (I72420, b/176921662) - Correction d'un problème provoquant le renvoi par
BiometricManager.canAuthenticate(int)
d'un code d'état incorrect pour un appareil sans matériel biométrique et sans code PIN, schéma ou mot de passe enregistré sur Android 10 (niveau d'API 29) et les versions antérieures du SDK. (I79b7d, b/174505824) - Correction d'une fuite de mémoire qui pouvait se produire lorsque
BiometricPrompt
était hébergé dans un fragment dont le cycle de vie était plus court que l'activité associée. (I70864, b/167014923)
Version 1.2.0-alpha01
2 décembre 2020
Publication d'androidx.biometric:biometric:1.2.0-alpha01
et d'androidx.biometric:biometric-ktx:1.2.0-alpha01
. Liste des commits de la version 1.2.0-alpha01
Nouvelles fonctionnalités
- Introduction du module
androidx.biometric:biometric-ktx
, qui ajoute des extensions et des API spécifiques à Kotlin en plus deandroidx.biometric:biometric
.
Modifications apportées à l'API
- Ajout de nouvelles API
AuthPrompt
pour la création d'uneBiometricPrompt
et l'authentification. Ces API ne nécessitent pas que laBiometricPrompt
soit créée dans un rappel de cycle de vie anticipé, tel queonCreate
. (I19022) - Ajout des extensions Kotlin à
Fragment
etFragmentActivity
pour les nouvelles APIAuthPrompt
. (Iaf98c)
Version 1.1.0
Version 1.1.0
27 janvier 2021
Publication d'androidx.biometric:biometric:1.1.0
. Liste des commits de la version 1.1.0
Principales modifications depuis la version 1.0.0
- Ajout de la rétrocompatibilité pour les nouvelles fonctionnalités et mises à jour d'API d'authentification biométrique introduites dans Android 11.
- Réduction importante de l'encombrement de l'application de la bibliothèque (plus de 100 Ko dans certains cas).
- Suppression de diverses sources de fuites de mémoire précédemment dues à la bibliothèque.
- Correction des échecs de vérification de classe pouvant affecter les performances sur les anciennes versions d'Android.
- Ajout de diverses améliorations supplémentaires pour la stabilité et le comportement de la bibliothèque.
Version 1.1.0-rc01
11 novembre 2020
Publication d'androidx.biometric:biometric:1.1.0-rc01
. Liste des commits de la version 1.1.0-rc01
Correction de bugs
- Correction d'un problème sur certains appareils générant parfois une
NullPointerException
pour certaines actions (authentification, annulation, etc.). (b/151316421) - Correction d'un problème entraînant certains appareils Pixel à signaler un état erroné lors de l'utilisation de
BiometricManager#canAuthenticate(int)
pour la vérification des données biométriques de Classe 3 sur Android 10. (b/170406186)
Version 1.1.0-beta01
1er octobre 2020
Publication d'androidx.biometric:biometric:1.1.0-beta01
. Liste des commits de la version 1.1.0-beta01
Nouvelles fonctionnalités
- Réduction importante de l'encombrement de l'APK de la bibliothèque (plus de 100 Ko compressés, dans certains cas) en remplaçant les animations de la boîte de dialogue par des éléments statiques sous Android 8.1 et versions antérieures. (I4844e)
- Lorsque l'authentification biométrique est verrouillée,
BiometricPrompt
passe désormais automatiquement à l'authentification des identifiants de l'appareil (si elle est autorisée). (b/149579143)
Correction de bugs
- Correction d'un problème entraînant un plantage de
BiometricPrompt
sur certains appareils Android 9 sans lecteur d'empreinte digitale. (b/151443237) - Correction d'une éventuelle
NullPointerException
dansFingerprintDialogFragment
. (b/167951429) - Correction d'un problème provoquant l'utilisation d'un type
CryptoObject
incorrect pour un appel de méthode réfléchi dansBiometricManager
. (b/165824669) - Correction d'un problème dans lequel la nouvelle invite était automatiquement ignorée sur certains appareils Android 10 si
BiometricPrompt
était à nouveau affiché peu de temps après le refus. (b/157783075) - Correction de fuites de mémoire liées à l'utilisation de
FingerprintManagerCompat
. (b/165840273) - Correction des problèmes liés à l'interface utilisateur de la boîte de dialogue d'empreinte digitale qui était masquée ou affichée de manière incorrecte sur certains appareils Android 9. (b/154868505, b/148350291)
Version 1.1.0-alpha02
19 août 2020
Publication d'androidx.biometric:biometric:1.1.0-alpha02
. Liste des commits de la version 1.1.0-alpha02
Nouvelles fonctionnalités
BiometricManager#canAuthenticate()
peut désormais renvoyerBIOMETRIC_STATUS_UNKNOWN
, pour indiquer que l'utilisateur peut toujours s'authentifier, ouBIOMETRIC_ERROR_UNSUPPORTED
, pour indiquer qu'une combinaison d'authentificateurs donnée n'est pas compatible avec l'appareil.BiometricPrompt#authenticate()
peut désormais être utilisé pour l'authentification des identifiants de l'appareil avec unCryptoObject
associé sur Android 11 (niveau d'API 30) et versions ultérieures uniquement.
Modifications apportées à l'API
- Fournir un
Executor
explicite lors de la création d'une instance deBiometricPrompt
est désormais facultatif. (I6bb8a) - Ajout de la méthode
BiometricManager#canAuthenticate(int)
à partir d'Android 11. (Ia3f1c) - Mise à jour de
BiometricPrompt
pour la prise en charge des constantesBiometricManager.Authenticators
à partir d'Android 11. (I39bd8) - Ajout de la méthode
BiometricPrompt.AuthenticationResult#getAuthenticationType()
à partir d'Android 11. (Icfad5) - Ajout du code d'erreur
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
à partir d'Android 11. (I6610b) - Mise à jour de
BiometricPrompt.CryptoObject
pour prendre en chargeIdentityCredential
sur Android 11 (niveau d'API 30) et versions ultérieures uniquement. (I1d9f6)
Correction de bugs
- Correction des fuites de mémoire signalées par "LeakCanary" dans
BiometricFragment
etBiometricViewModel
. (b/144919472) - Correction de
BiometricViewModel
pour qu'il n'appelle plusMutableLiveData#setValue()
à partir d'un thread d'arrière-plan. (b/159983244) - Correction d'un problème qui empêchait
BiometricPrompt
de gérer correctement le verrouillage temporaire à certains niveaux d'API. (9acfce9) - Correction d'un problème entraînant le renvoi d'un code d'erreur erroné par
BiometricPrompt
pour un appareil non sécurisé par des identifiants de verrouillage d'écran à certains niveaux d'API. (b/148626482) - Correction d'un problème entraînant le renvoi par
BiometricManager
etBiometricPrompt
de codes d'erreur erronés pour un appareil sans implémentation de protection du clavier à certains niveaux d'API. (891c6e0)
Version 1.1.0-alpha01
24 juin 2020
Publication d'androidx.biometric:biometric:1.1.0-alpha01
. Liste des commits de la version 1.1.0-alpha01
Nouvelles fonctionnalités
- Refactorisation de l'implémentation de la bibliothèque interne pour éliminer les sources potentielles de fuite de mémoire et autres comportements inattendus :
- Désormais, les fragments internes partagent et conservent les données à l'aide d'un
ViewModel
lié au cycle de vie de l'activité de l'application cliente. - L'authentification des identifiants de l'appareil avant Android 10 (niveau d'API 29) ne lance plus d'activité transparente dans l'application cliente.
- Désormais, les fragments internes partagent et conservent les données à l'aide d'un
Correction de bugs
- Résolution des avertissements d'abandon concernant l'utilisation de
FingerprintManagerCompat
. (b/142967618) - Modification de la manière dont les méthodes de plate-forme contrôlée par le SDK sont appelées pour éviter les problèmes de vérification de classe sur les anciennes versions d'Android. (94beb4b)
- Les dépendances Gradle qui ne font pas partie de l'API publique ne sont plus exportées par la bibliothèque. (f289d9e)
Version 1.0.1
Version 1.0.1
18 décembre 2019
Publication d'androidx.biometric:biometric:1.0.1
. Liste des commits de la version 1.0.1.
Correction de bugs
- Extension de la solution de remplacement existante pour les empreintes digitales aux fournisseurs concernés par l'authentification cryptographique, tout en la limitant au niveau d'API 28. (b/143361271)
- Correction d'un problème sur certains appareils entraînant l'affichage de la boîte de dialogue biométrique sous une superposition de système. (b/143230260)
- Correction de plusieurs problèmes liés à
setDeviceCredentialAllowed(true)
. (b/143091227, b/143097321, b/143653944) - Correction d'un problème sur certaines versions d'Android où
onAuthenticationSuccess
n'était pas toujours appelé après la confirmation par l'utilisateur des identifiants de son appareil. (b/145232806) - Correction d'un problème sur certaines versions d'Android où
onAuthenticationError
n'était pas toujours appelé lorsque l'invite était ignorée pendant la rotation. (b/145230042) - Correction d'un problème sur certaines versions d'Android où l'invite n'était pas ignorée lors de la réception de certains codes d'erreur. (b/143683687)
- Correction d'une éventuelle
NullPointerException
dansBiometricFragment
. (b/142599311)
Version 1.0.0
Version 1.0.0
7 novembre 2019
Publication d'androidx.biometric:biometric:1.0.0
sans aucune modification par rapport à la version 1.0.0-rc02
. Liste des commits de la version 1.0.0
Principales fonctionnalités de la version 1.0.0
- Version de compatibilité des API
BiometricPrompt
etBiometricManager
, telle qu'elle est implémentée dans Android 10, avec prise en charge complète des fonctionnalités d'Android 6.0 (niveau d'API 23). - Gestion du cycle de vie intégrée pour
BiometricPrompt
dans unFragment
ou uneFragmentActivity
. - Traitement spécial des appareils connus pour présenter des données biométriques faibles de manière incorrecte lors d'une authentification cryptographique.
Version 1.0.0-rc02
23 octobre 2019
Publication d'androidx.biometric:biometric:1.0.0-rc02
. Liste des commits de la version 1.0.0-rc02
Correction de bugs
- Ajout d'une solution de contournement pour certains appareils connus pour fournir des données biométriques faibles de manière incorrecte lors de l'appel de l'authentification cryptographique sur les versions 28 et 29 de l'API. (b/142150327)
Version 1.0.0-rc01
9 octobre 2019
Publication d'androidx.biometric:biometric:1.0.0-rc01
. Liste des commits de la version 1.0.0-rc01
Correction de bugs
- Correction d'un éventuel plantage de
FingerprintDialogFragment
lorsqu'il est ignoré pendant la rotation de l'écran. (b/141356362) - Correction d'un problème pouvant entraîner un plantage lors de la réception d'un
AuthenticationResult
nul depuis l'API du framework. (b/138862251) - Correction de plantages causés lorsque
BiometricPrompt
est ignoré aprèsonSaveInstanceState()
. (b/138825362, b/140447194)
Version 1.0.0-beta02
18 septembre 2019
Publication d'androidx.biometric:biometric:1.0.0-beta02
. Liste des commits de la version 1.0.0-beta02
Correction de bugs
- Correction des problèmes de prise en charge des identifiants de l'appareil dans la version
1.0.0-beta01
. - Suppression des dépendances Java 8 et passage à Java 7. (b/140508526)
- Désormais,
FingerprintHelperFragment
génère correctementERROR_HW_NOT_PRESENT
lorsqu'aucun capteur d'empreintes digitales n'est détecté. (b/140427586)
Version 1.0.0-beta01
29 août 2019
Publication d'androidx.biometric:biometric:1.0.0-beta01
. Liste des commits de la version 1.0.0-beta01
Nouvelles fonctionnalités
Nous avons introduit un deuxième constructeur pour "BiometricPrompt" qui lui permet d'être hébergé dans un Fragment (contrairement au constructeur existant, qui nécessite une "FragmentActivity").
Nous sommes également ravis d'intégrer les fonctionnalités suivantes d'Android 10 à la bibliothèque Biometric d'AndroidX :
BiometricManager#canAuthenticate
BiometricPrompt.PromptInfo#setConfirmationRequired
BiometricPrompt.PromptInfo#setDeviceCredentialAllowed
Sous Android 10, la bibliothèque appellera les méthodes correspondantes à partir de l'API de la plate-forme. Sur les niveaux d'API plus anciens, la bibliothèque émulera ce comportement.
Modifications apportées à l'API
- Ajout d'un constructeur spécifique au fragment pour l'invite biométrique. (b/131980596)
- Consultez la section "Nouvelles fonctionnalités" ci-dessus.
Correction de bugs
- Ajout de la prise en charge des identifiants de l'appareil "BiometricPrompt" pour "L" et les versions ultérieures.
- Correction de "BiometricPrompt" permettant d'utiliser les constantes d'erreur publiques. (b/137788194)
- Correction de
NullPointerException
dansBiometricPrompt.onAttach()
. (b/136103103) - Modification du comportement de manière à ne pas autoriser l'annulation de "BiometricPrompt" par un événement tactile en dehors de l'invite. (b/135684487)
- Correction du plantage de "onAuthenticationError" lors du renvoi d'une valeur d'erreur nul en Kotlin. (b/128350861)
- "FingerprintDialogFragment" prend désormais en charge les styles. (b/127878106)
- "FingerprintDialog" prend désormais en charge le défilement. (b/126367887)
- Correction d'un bug générant une
IllegalStateException
lors de la rotation de la boîte de dialogue biométrique. (b/124153656), (b/123811924) - Correction d'un comportement incohérent pour les niveaux d'API 23 à 27. (b/124066957)
- Correction d'un problème où la boîte de dialogue de connexion par empreinte digitale lisait un texte incorrect à l'aide de Talkback. (b/123572331)
Version 1.0.0-alpha04
3 avril 2019
Publication d'androidx.biometric:biometric:1.0.0-alpha04
. Les commits inclus dans cette version sont disponibles sur cette page.
Correction de bugs
- Correction d'un problème où les fragments de Biometric ne sont pas nettoyés dans tous les cas. (b/121117380)
- Correction de
BiometricPrompt
qui n'autorise qu'une seule instance deBiometricPrompt.AuthenticationCallback
. (b/123857949) - Correction du comportement d'erreur
BiometricPrompt
incohérent entre les versions du système et de compatibilité. (b/123572326) - Correction de
onAuthenticationError()
de rappel avec@NotNull errString
entraînant uneNullPointerException
lors de l'exécution. (b/123167217) - Correction des plantages du bouton "Annuler" de
androidx.BiometricPrompt
. (b/122054485) - Correction du titre et la de description de
androidx.biometric.PromptInfo
qui ne sont pas modifiés sur Android P. (b/122856773)
Version 1.0.0-alpha03
17 décembre 2018
Correction de bugs
- Correction des problèmes liés aux fragments
- Sur les appareils dotés de la version O ou de versions antérieures, les erreurs de verrouillage sont immédiatement renvoyées afin qu'elles soient cohérentes avec la version P et les versions ultérieures.