Biometric

Authentifiez-vous à l'aide de la biométrie ou des identifiants de l'appareil, et effectuez des opérations de cryptographie.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
21 septembre 2022 1.1.0 - - 1.2.0-alpha05

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.2.0-alpha05"
}

Kotlin

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

    // Kotlin
    implementation("androidx.biometric:biometric:1.2.0-alpha05")
}

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.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

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 avec CryptoObject 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

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éthode startAuthentication(...). (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 le AuthenticationResult 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 de androidx.biometric:biometric.

Modifications apportées à l'API

  • Ajout de nouvelles API AuthPrompt pour la création d'une BiometricPrompt et l'authentification. Ces API ne nécessitent pas que la BiometricPrompt soit créée dans un rappel de cycle de vie anticipé, tel que onCreate. (I19022)
  • Ajout des extensions Kotlin à Fragment et FragmentActivity pour les nouvelles API AuthPrompt. (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 dans FingerprintDialogFragment. (b/167951429)
  • Correction d'un problème provoquant l'utilisation d'un type CryptoObject incorrect pour un appel de méthode réfléchi dans BiometricManager. (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 renvoyer BIOMETRIC_STATUS_UNKNOWN, pour indiquer que l'utilisateur peut toujours s'authentifier, ou BIOMETRIC_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 un CryptoObject associé sur Android 11 (niveau d'API 30) et versions ultérieures uniquement.

Modifications apportées à l'API

Correction de bugs

  • Correction des fuites de mémoire signalées par "LeakCanary" dans BiometricFragment et BiometricViewModel. (b/144919472)
  • Correction de BiometricViewModel pour qu'il n'appelle plus MutableLiveData#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 et BiometricPrompt 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.

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 dans BiometricFragment. (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 et BiometricManager, 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 un Fragment ou une FragmentActivity.
  • 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

Corrections 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ès onSaveInstanceState(). (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 correctement ERROR_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 :

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. 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.

Corrections 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 dans BiometricPrompt.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.

Corrections 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 de BiometricPrompt.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 une NullPointerException 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.