Cómo comprobar la compatibilidad del dispositivo para la autenticación de la huella dactilar en android

Estoy trabajando con la autenticación de la huella dactilar usando el api del androide 6.0. Mi requisito es, si el dispositivo actual es compatible con la autenticación de huella dactilar, entonces voy a ir a través de la autenticación de huella dactilar de otra manera se utilizará forma normal de iniciar sesión en la aplicación.

Así pues, cualquiera puede decirme, cómo comprobar la compatibilidad del dispositivo para la autentificación de la huella digital en androide.

Gracias por adelantado.

Tienes que usar el método isHardwareDetected en la clase FingerprintManager .

Determine si el hardware de huella digital está presente y funcional. Devuelve true si el hardware está presente y funcional, false en caso contrario.

 // 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 olvide agregar permiso para acceder a las funciones de huella dactilar 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 comprobar en dispositivos inferiores a Android 6.0 con la biblioteca de soporte técnico

Añadir dependencia:

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

Y utilizar la clase FingerprintManagerCompat como esto:

 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 } 

Sólo un seguimiento a la respuesta de LaurentY. Necesita un permiso para acceder al escáner de huellas dactilares. Y para eso debes añadir esto a tu Manifiesto.

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

Este método funciona para todas las versiones de Android y también para obtener 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(); } } 
  • Google maps api para android, obteniendo cert SHA1 en lugar de MD5
  • Cómo adquirir la huella dactilar MD5 de Mavericks
  • ¿Cómo puedo obtener la huella dactilar MD5 del keytool de Java, no sólo SHA-1?
  • ¿Cómo hago que un escáner de huellas digitales USB esté conectado a un teléfono móvil / tablet con éxito?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.