JerabekJakub
Constante USE_FINGERPRINT
era en desuso en el nivel de API 28 y deberíamos usar más genérico USE_BIOMETRIC
que se ha agregado en el mismo nivel de API.
Intercambio estas constantes en mi Manifiesto y recibo un error al llamar FingerprintManagerCompat.from(context).isHardwareDetected()
.
El error es:
Falta el permiso requerido – USE_FINGERPRINT
Esto sucede debido a @RequiresPermission("android.permission.USE_FINGERPRINT")
anotación en FingerprintManagerCompat
en 28.0.0-rc3 soporte v4 lib.
¿Es esto algo que puedo ignorar y continuar usando un nuevo permiso?
mateo11
Me he enfrentado al mismo problema, en mi humilde opinión, la respuesta corta es ignorar la desaprobación, siempre que solo desea admitir la autenticación de huellas dactilares en su aplicación.
Como se indica en el blog de desarrollo de googleya que la API 28 de Google presenta la nueva API de biometría, que simplifica todo el proceso de autenticación biométrica. Proporcionan un generador simple para el diálogo de autenticación. Además, también admiten la detección de rostros e iris; en mi humilde opinión, es solo cuestión de tiempo si desea admitirlo y probablemente valga la pena actualizarlo.
La única desventaja que he descubierto hasta ahora es que si desea verificar si, por ejemplo, el hardware de huellas dactilares está disponible, deberá iniciar el proceso de autenticación para verificar esto y esperar el devolución de llamada de error. En su lugar, la API de huellas dactilares en desuso proporciona métodos como isHardwareDetected()
o hasEnrolledFingerprints()
para este propósito. En este caso, probablemente tendría que rediseñar su aplicación, si confía en esta información. El motivo de la desaprobación de esos métodos es probablemente que solo admite huellas dactilares, por lo que no es una mala idea actualizarlo.
Google también ha proporcionado la compatible 'androidx.biometric:biometric:1.0.0-alpha02'
versión para los dispositivos por debajo de API 28, parece que al importar esta dependencia, simplemente podría cambiar a USE_BIOMETRIC
permiso sin modificar nada más en su aplicación; ya no le molestará la advertencia. Como solo está en etapa alfa, lo usaría con cuidado. Por lo tanto, siempre que no use nada de la API biométrica, también puede simplemente ignorar el problema y enfrentarlo nuevamente cuando desee admitir métodos de autenticación biométrica adicionales.
EDITAR: Ahora, se lanza la versión beta de la biblioteca de compatibilidad, 'androidx.biometric:biometric:1.0.0-beta01'
. Para obtener más información sobre esto, Chequea aquí.
Ahora, la versión estable de la biblioteca de compatibilidad se lanzó el 18 de diciembre de 2019, ‘androidx.biometric:biometric:1.0.1’. Para más información sobre esto haga clic aquí.
-
Este es el tipo de respuesta de calidad que necesitamos más en el desbordamiento de pila. +100
– jungledev
18 de diciembre de 2018 a las 16:05
-
@jungledev En mi defensa, SO no me envió una notificación a la bandeja de entrada a la respuesta de Mathew11 ni a su comentario. Recibí una notificación solo después de una nueva respuesta del 16/8 y luego vi esta respuesta y tu comentario. :-/
– Jerabek Jakub
20 de agosto de 2019 a las 11:44
-
“1.0.0-beta02” ya disponible, todavía esperando la versión final.
– sergio
18/09/2019 a las 21:36
-
El 29 hay
canAuthenticate
desarrollador.android.com/reference/android/hardware/biometrics/…– Florián Walther
8 de diciembre de 2019 a las 15:13
API de biometría proporciona constantes biométricas para el manejo de errores
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
}
}
has agregado
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
permiso en el archivo de manifiesto– Pregúntale a Nilesh
17 de julio de 2018 a las 7:35
@NileshRathod No, como escribí, lo cambié por uno nuevo USE_BIOMETRIC.
– Jerabek Jakub
17 de julio de 2018 a las 7:38
creo que tienes que usar
BiometricPrompt
en lugar de usarFingerprintManagerCompat
– manuelwaldner
5 oct 2018 a las 10:33
¿Encuentras una solución para eso? Este cambio conduce al bloqueo, al menos debería haber habido una precaución.
– Amit
16 de octubre de 2018 a las 1:11
Problema relacionado con el rastreador de Google: tematracker.google.com/issues/109826221 Lamentablemente no lo van a arreglar 🙁
– algrid
25 de diciembre de 2018 a las 9:51