43 votes

USE_FINGERPRINT est obsolète au niveau de l'API 28

Constant USE_FINGERPRINT était dépréciée de l'API de niveau 28 , et nous devrions utiliser plus générique, USE_BIOMETRIC qui a été ajouté au même niveau API.

J'échange ces constantes dans mon Manifeste et j'obtiens une erreur lors de l'appel d' FingerprintManagerCompat.from(context).isHardwareDetected().

L'erreur est:

Manque d'autorisation USE_FINGERPRINT

Cela se produit parce que l' @RequiresPermission("android.permission.USE_FINGERPRINT") d'annotation en FingerprintManagerCompat dans 28.0.0-rc3 soutien v4 lib.

Est-ce quelque chose que je peux l'ignorer et de continuer à utiliser la nouvelle autorisation?

117voto

mathew11 Points 546

J'ai été confronté au même problème, à mon humble avis, la réponse courte, c'est ignorer l'autodérision, aussi longtemps que vous avez seulement envie de soutenir l'authentification des empreintes digitales dans votre application.

Comme indiqué dans le google dev blog, depuis API 28 google arrive avec la nouvelle de la biométrie de l'API, ce qui simplifie l'ensemble du processus de la biométrie authentification. Ils fournissent un simple constructeur pour l'auth-boîte de dialogue. En outre, ils soutiennent visage et de l'iris, de la détection, de trop à mon humble avis c'est juste une question de temps si vous voulez le soutenir, et probablement pourrait être intéressant de le mettre à niveau.

Le seul inconvénient que j'ai découvert à ce jour est que si vous voulez vérifier si, par exemple, des empreintes digitales matériel est disponible, vous devrez démarrer le processus d'authentification pour vérifier cela et attendre l' erreur de rappel. Le obsolète empreinte digitale plutôt l'API fournit des méthodes comme l' isHardwareDetected() ou hasEnrolledFingerprints() pour ce but. Dans ce cas, vous auriez probablement re-conception de votre application, si vous comptez sur cette information. La raison de la dépréciation de ces méthodes est probablement, qu'il prend uniquement en charge les empreintes digitales, il n'est donc pas une mauvaise idée de le mettre à jour.

Google a également fourni la compat 'androidx.biometric:biometric:1.0.0-alpha02' version pour les appareils ci-dessous API 28, il semble que par l'importation de cette dépendance, vous pouvez tout simplement passer à l' USE_BIOMETRIC permission, sans modification de quelque chose d'autre dans votre application, vous ne serez pas dérangé par l'avertissement plus. Car ce n'est qu'en version alpha, je voudrais l'utiliser avec soin. Par conséquent, tant que vous n'avez pas utiliser quoi que ce soit à partir de la biométrie de l'API, vous pouvez aussi tout simplement d'ignorer le problème et de les affronter à nouveau lorsque vous souhaitez prendre en charge d'autres méthodes d'authentification biométrique.

EDIT: Maintenant, la version bêta de compat bibliothèque est libéré, 'androidx.biometric:biometric:1.0.0-beta01'. Pour plus de détails, consultez ici.

Maintenant, la version stable de compat bibliothèque est publié le 18 décembre 2019, 'androidx.biométrique:biométrique:1.0.1'. Pour plus d'informations, Cliquez ici.

2voto

chock2099 Points 11

l'API biométrique fournit des composants biométriques pour la gestion des erreurs

 override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
    super.onAuthenticationError(errorCode, errString)

    //The device does not have a biometric sensor.
    if (errorCode == BiometricPrompt.ERROR_HW_NOT_PRESENT){
      //Do something
    }
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X