Enum BiometricType

java.lang.Object
java.lang.Enum<BiometricType>
com.codename1.security.BiometricType
All Implemented Interfaces:
Comparable<BiometricType>

public enum BiometricType extends Enum<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 Details

    • FINGERPRINT

      public static final BiometricType FINGERPRINT
      Fingerprint sensor (iOS Touch ID, Android FEATURE_FINGERPRINT). Populated on both platforms when the device has fingerprint hardware AND at least one fingerprint is enrolled.
    • FACE

      public static final BiometricType FACE
      Face recognition (iOS Face ID, Android FEATURE_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

      public static final BiometricType IRIS
      Iris recognition (Android FEATURE_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

      public static final BiometricType 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

    • WEAK

      public static final BiometricType 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 use SecureStorage. Populated only on Android API 30+; not returned on iOS.
  • Method Details

    • values

      public static BiometricType[] 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

      public static BiometricType valueOf(String name)
      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 name
      NullPointerException - if the argument is null