showBiometricPrompt method
Implementation
@override
Future<BiometricStatusResult?> showBiometricPrompt({
final String? title,
final String? description,
final String? cancelText,
}) async {
try {
final res = await methodChannel.invokeMethod<String>(
'showBiometricPrompt',
{
'title': title,
'description': description,
'cancelText': cancelText,
},
);
final event = res?.split(",") ?? [];
if (event.isEmpty) return null;
switch (event[0]) {
case 'AUTH_SUCCESS':
return BiometricStatusResult.authSuccess;
case 'NO_BIOMETRICS':
case 'BIOMETRIC_UNAVAILABLE':
return BiometricStatusResult.noBiometrics;
case 'NO_HARDWARE':
return BiometricStatusResult.noHardware;
case 'BIOMETRIC_LOCKOUT':
return BiometricStatusResult.biometricLockout;
case 'BIOMETRIC_LOCKOUT_PERMANENT':
return BiometricStatusResult.biometricLockoutPermanent;
default:
return null;
}
} on PlatformException catch (e) {
if (e.code == 'AUTH_FAILED') {
return BiometricStatusResult.authFailed;
} else {
rethrow;
}
}
}