isBiometricEnabled function
Verifica si el dispositivo tiene biometría disponible y enrollada. Retorna true si disponible; en caso de error o no disponible, retorna Map con details (para compatibilidad).
Implementation
Future<dynamic> isBiometricEnabled() async {
try {
final bool isDeviceSupported = await _localAuth.isDeviceSupported();
final bool canCheckBiometrics = await _localAuth.canCheckBiometrics;
if (!isDeviceSupported && !canCheckBiometrics) {
return {
'success': false,
'message': 'Dispositivo no compatible con biometría',
'code': 'BiometricNotSupported',
'error': null,
};
}
final List<BiometricType> availableBiometrics =
await _localAuth.getAvailableBiometrics();
if (availableBiometrics.isEmpty) {
return {
'success': false,
'message': 'No hay credenciales biométricas registradas',
'code': 'BiometricNotEnrolled',
'error': null,
};
}
return true;
} catch (e) {
debugPrint('Error en isBiometricEnabled: $e');
return {
'success': false,
'message': 'Error al verificar la biometría',
'code': 'BiometricCheckError',
'error': e.toString(),
};
}
}