public enum BiometricType
- Object
- Enum<BiometricType>
- BiometricType
ImplementsComparable<BiometricType>
Enumerates the biometric authentication modalities that may be available
on a device. Returned from
Biometrics.getAvailableBiometrics().
The set returned at runtime depends on the platform and the user’s
enrolled credentials – e.g. an iPhone with Face ID enrolled returns
[FACE]; an Android Pixel with a fingerprint and a face enrolled
returns [FINGERPRINT, FACE]. Use the list to drive UI affordances
(icon, prompt copy) but never to gate the actual authenticate() call:
always rely on Biometrics.canAuthenticate() for that decision.
Enum constants
FINGERPRINT | Fingerprint sensor (iOS Touch ID, Android FEATURE_FINGERPRINT). |
FACE | Face recognition (iOS Face ID, Android FEATURE_FACE). |
IRIS | Iris recognition (Android FEATURE_IRIS). |
STRONG | Android class-3 / “strong” authenticator tier. |
WEAK | Android class-2 / “weak” authenticator tier. |
Methods
public static BiometricType[] values() | |
public static BiometricType valueOf(String name) |
Inherited methods
Enum constant details
FINGERPRINT
FINGERPRINTFEATURE_FINGERPRINT).
Populated on both platforms when the device has fingerprint hardware
AND at least one fingerprint is enrolled.FACE
FACEFEATURE_FACE). Populated on
both platforms; on Android 9-10 the OS does not expose face
enrolment via the BiometricPrompt API even on devices that have it,
so this value only appears on Android API 29+.IRIS
IRISFEATURE_IRIS). Used by a handful of
Samsung devices and is not exposed on iOS. Practically rare in 2026
– code that targets it should still treat the absence as the
expected case.STRONG
STRONGAndroid class-3 / “strong” authenticator tier. Indicates the
device’s available biometric meets Android’s stricter cryptographic
requirements (false-acceptance rate < 1/100,000) and can therefore
gate Keystore-backed keys created with setUserAuthenticationRequired
- a strong-only authenticator policy. Populated only on Android API
30+; iOS has no analogous concept and this value is never returned
there. Combine with
AuthenticationOptions.setSensitiveTransaction(boolean)to require this tier when guarding sensitive operations.
WEAK
WEAKSecureStorage. Populated
only on Android API 30+; not returned on iOS.Method details
values
public static BiometricType[] values()valueOf
public static BiometricType valueOf(String name)