studio para huellas huella example escaner escanear digitales dactilares dactilar capturar aplicacion android authentication fingerprint

example - Cómo verificar la compatibilidad del dispositivo para la autenticación de huellas digitales en Android



huella dactilar android studio (4)

Este método funciona para todas las versiones de Android y también verifica el permiso

private boolean isSensorAvialable() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { return ActivityCompat.checkSelfPermission(AppContext, Manifest.permission.USE_FINGERPRINT) == PackageManager.PERMISSION_GRANTED && AppContext.getSystemService(FingerprintManager.class).isHardwareDetected(); } else { return FingerprintManagerCompat.from(AppContext).isHardwareDetected(); } }

Estoy trabajando con la autenticación de huellas dactilares usando la api de Android 6.0. Mi requisito es que, si el dispositivo actual es compatible con la autenticación de huellas dactilares, entonces iré a través de la autenticación de huellas dactilares; de lo contrario, utilizaré la forma normal para iniciar sesión en la aplicación.

Entonces, cualquiera me puede decir cómo verificar la compatibilidad del dispositivo para la autenticación de huellas dactilares en Android.

Gracias por adelantado.


Solo un seguimiento de la respuesta de LaurentY. Necesita un permiso para acceder al escáner de huellas dactilares. Y para eso, necesita agregar esto a su Manifiesto.

<uses-permission android:name="android.permission.USE_FINGERPRINT" />



Debes usar el método isHardwareDetected en la clase FingerprintManager .

Determine si el hardware de huellas dactilares está presente y es funcional. Devuelve verdadero si el hardware está presente y funcional, de lo contrario es falso.

// Check if we''re running on Android 6.0 (M) or higher if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { //Fingerprint API only available on from Android 6.0 (M) FingerprintManager fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE); if (!fingerprintManager.isHardwareDetected()) { // Device doesn''t support fingerprint authentication } else if (!fingerprintManager.hasEnrolledFingerprints()) { // User hasn''t enrolled any fingerprints to authenticate with } else { // Everything is ready for fingerprint authentication } }

No olvides agregar un permiso para acceder a las funciones de huellas digitales en AndroidManifest:

<uses-permission android:name="android.permission.USE_FINGERPRINT" />

Con la biblioteca de soporte

Si no desea comprobar Build.VERSION, también es posible verificar en un dispositivo inferior a Android 6.0 con Support Library

Agregar dependencia:

compile "com.android.support:support-v4:23.0.0"

Y use la clase FingerprintManagerCompat así:

FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(context); if (!fingerprintManagerCompat.isHardwareDetected()) { // Device doesn''t support fingerprint authentication } else if (!fingerprintManagerCompat.hasEnrolledFingerprints()) { // User hasn''t enrolled any fingerprints to authenticate with } else { // Everything is ready for fingerprint authentication }