B4A Library XBiometric – Autenticación biométrica nativa para Android

XBiometric es una librería desarrollada completamente en Java nativo para integrarse fácilmente con Basic4Android (B4A).
Proporciona una interfaz unificada para el manejo de autenticación biométrica en Android, permitiendo verificar si el dispositivo puede autenticar, si existen huellas registradas, y ejecutar la autenticación del usuario mediante los mecanismos de seguridad disponibles.

Funciones principales​


SePuedeAutenticar

Verifica si el dispositivo está en condiciones de realizar autenticación biométrica.
Evalúa el estado del hardware, la configuración de huellas o credenciales y devuelve una constante descriptiva del resultado.

Ejemplo de uso::
If xbio.SePuedeAutenticar = xbio.ERROR_NONE_ENROLLED Then
    Log("No hay huellas registradas en el dispositivo")
End If

Constantes disponibles​


ConstanteDescripción
ERROR_HW_UNAVAILABLEEl hardware biométrico no está disponible temporalmente (por ejemplo, está ocupado o presenta error).
ERROR_IDENTITY_CHECK_NOT_ACTIVEEl sistema de identidad no está activo o disponible.
ERROR_NO_HARDWAREEl dispositivo no cuenta con sensor biométrico.
ERROR_NONE_ENROLLEDNo hay huellas ni datos biométricos registrados.
ERROR_NOT_ENABLED_FOR_APPSLa autenticación biométrica está deshabilitada para las aplicaciones.
ERROR_SECURITY_UPDATE_REQUIREDSe requiere una actualización de seguridad para utilizar la biometría.
NO_AUTHENTICATIONNo se realizó autenticación o fue cancelada por el usuario.
LLAMAR_A_AUTENTICARConstante incluida por compatibilidad; no debe usarse directamente. Utilizar siempre el método Autenticar.



Autenticar​

Inicia el proceso de autenticación biométrica.
Muestra el diálogo del sistema para que el usuario se identifique con su huella digital o, si no está disponible, mediante el PIN, patrón o contraseña del dispositivo.

Ejemplo de uso::
If (disponible= xio.SUCCESS)  Or (disponible = xio.LLAMAR_A_AUTENTICAR)Then   
    xio.Autenticar
End If

Arquitectura y compatibilidad​


La librería XBiometric utiliza directamente las clases nativas de Android:
  • android.hardware.fingerprint.FingerprintManager
  • android.hardware.biometrics.BiometricPrompt
No depende de AndroidX, lo que la hace más liviana, directa y totalmente nativa.


Compatibilidad:

  • Android 6.0 (API 23) en adelante.
  • Usa FingerprintManager en dispositivos con Android 6–8 (API 23–27).
  • Usa BiometricPrompt a partir de Android 9 (API 28+).
  • Compatible con autenticación por huella, rostro y credenciales del dispositivo (PIN/patrón/contraseña).



Ventajas de XBiometric​


  • 100 % Java nativo, sin dependencias externas ni AndroidX.
  • Compatible con todas las versiones modernas de Android.
  • Interfaz simple para Basic4Android (B4A).
  • Diseñada para máxima compatibilidad entre versiones de Android.

Pruebas y validación​


La librería XBiometric fue testeada y verificada en los siguientes entornos:
  • Android 15 (API 35) – Funcionamiento completo con autenticación biométrica y credenciales del dispositivo.
  • Android 10 (API 29) – Compatibilidad confirmada con huella digital y fallback a PIN/patrón/contraseña.

Aún resta realizar pruebas en versiones anteriores de Android (6, 7 y 8) que utilizan FingerprintManager.
Si bien el código está diseñado para soportarlas de forma nativa, estas versiones se encuentran pendientes de validación en dispositivos reales.
 

Attachments

  • BiometricEJemplo.zip
    16.3 KB · Views: 2
  • BiometricLib.zip
    9.8 KB · Views: 2

Enxix

Member

Permisos requeridos​


Para que la librería funcione correctamente, es necesario declarar los siguientes permisos en el archivo AndroidManifest.xml de la aplicación:
Manifiesto:
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />

En el ejemplo adjunto se incluyen las constantes declaradas únicamente con fines informativos.
Podés eliminarlas al probar el ejemplo, ya que solo están allí para mostrarte qué constantes están disponibles y en qué contexto podés utilizarlas.
 

Similar Threads

Replies
0
Views
2K
Cookies are required to use this site. You must accept them to continue using the site. Learn more…