Je suis invité à présenter certains éléments de l'INTERFACE utilisateur en fonction de la présence de matériel biométrique. Pour Android 23-27-je utiliser FingerprintManager#isHardwareDetected()
et FingerprintManager#hasEnrolledFingerprints()
. Tous deux sont déconseillés dans Android 28.
Je comprends que je peux obtenir cette information en utilisant BiometricPrompt#authenticate(...)
et de la réception soit BiometricPrompt#BIOMETRIC_ERROR_HW_NOT_PRESENT
ou BiometricPrompt#BIOMETRIC_ERROR_NO_BIOMETRICS
dans la BiometricPrompt.AuthenticationCallback#onAuthenticationError(int errorCode, ...)
méthode. Mais cela conduirait à l' BiometricPrompt
présentés sur les dispositifs de soutien, ce qui est indésirable. À l'aide de l' CancellationSignal
ne semble pas être une solution car je ne sais pas quand pour annuler l'invite de commandes.
Est-il possible de détecter biométriques matériel de la présence et de l'utilisateur de l'inscription?