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.
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.
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.
La librería XBiometric utiliza directamente las clases nativas de Android:
Compatibilidad:
La librería XBiometric fue testeada y verificada en los siguientes entornos:
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.
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

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
Constante | Descripción |
---|---|
ERROR_HW_UNAVAILABLE | El hardware biométrico no está disponible temporalmente (por ejemplo, está ocupado o presenta error). |
ERROR_IDENTITY_CHECK_NOT_ACTIVE | El sistema de identidad no está activo o disponible. |
ERROR_NO_HARDWARE | El dispositivo no cuenta con sensor biométrico. |
ERROR_NONE_ENROLLED | No hay huellas ni datos biométricos registrados. |
ERROR_NOT_ENABLED_FOR_APPS | La autenticación biométrica está deshabilitada para las aplicaciones. |
ERROR_SECURITY_UPDATE_REQUIRED | Se requiere una actualización de seguridad para utilizar la biometría. |
NO_AUTHENTICATION | No se realizó autenticación o fue cancelada por el usuario. |
LLAMAR_A_AUTENTICAR | Constante 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

- 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.