Enum BiometricType
- All Implemented Interfaces:
Comparable<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 Constant Summary
Enum ConstantsEnum ConstantDescriptionFace recognition (iOS Face ID, AndroidFEATURE_FACE).Fingerprint sensor (iOS Touch ID, AndroidFEATURE_FINGERPRINT).Iris recognition (AndroidFEATURE_IRIS).Android class-3 / "strong" authenticator tier.Android class-2 / "weak" authenticator tier. -
Method Summary
Modifier and TypeMethodDescriptionstatic BiometricTypeReturns the enum constant of this type with the specified name.static BiometricType[]values()Returns an array containing the constants of this enum type, in the order they are declared.Methods inherited from class Enum
clone, compareTo, equals, getDeclaringClass, getEnumValues, hashCode, name, ordinal, setEnumValues, toString, valueOf
-
Enum Constant Details
-
FINGERPRINT
Fingerprint sensor (iOS Touch ID, AndroidFEATURE_FINGERPRINT). Populated on both platforms when the device has fingerprint hardware AND at least one fingerprint is enrolled. -
FACE
Face recognition (iOS Face ID, AndroidFEATURE_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
Iris recognition (AndroidFEATURE_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
Android 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.
- 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
-
WEAK
Android class-2 / "weak" authenticator tier. Indicates a biometric whose false-acceptance rate is between 1/10,000 and 1/100,000 (typically older fingerprint sensors). It can authenticate the user for UI flows but is NOT permitted to unlock Keystore-bound keys, so weak-only devices cannot useSecureStorage. Populated only on Android API 30+; not returned on iOS.
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-