AuthenticationRequest.Biometric.Builder


public final class AuthenticationRequest.Biometric.Builder


Builder used to create an instance of Biometric.

Note for Kotlin users: Prefer using the AuthenticationRequest.biometricRequest function to construct Biometric instances.

Throws
IllegalArgumentException

if more than one Biometric.Fallback.DeviceCredential is provided, or if the total number of fallbacks exceeds Biometric.getMaxFallbackOptions.

Compatibility Note: Prior to Build.VERSION_CODES_FULL.BAKLAVA_1 (API 36.1), only one fallback option is supported. If multiple options are provided on earlier Android versions, only the first fallback will be displayed as the negative button (without an icon), and the remaining fallbacks will be ignored.

Summary

Public constructors

Builder(
    @NonNull String title,
    @NonNull AuthenticationRequest.Biometric.Fallback... authFallbacks
)

Public methods

final @NonNull AuthenticationRequest.Biometric

Construct an instance of Biometric.

final @NonNull AuthenticationRequest.Biometric.Builder

The optional AuthenticationRequest.BodyContent of the prompt.

final @NonNull AuthenticationRequest.Biometric.Builder
setIsConfirmationRequired(boolean isConfirmationRequired)

Whether user confirmation should be required for passive biometrics.

final @NonNull AuthenticationRequest.Biometric.Builder
@RequiresPermission(value = "android.permission.SET_BIOMETRIC_DIALOG_ADVANCED")
setLogoBitmap(Bitmap logoBitmap)

The optional bitmap drawable of the logo that will be shown on the prompt.

final @NonNull AuthenticationRequest.Biometric.Builder
@RequiresPermission(value = "android.permission.SET_BIOMETRIC_DIALOG_ADVANCED")
setLogoDescription(String logoDescription)

The optional logo description text that will be shown on the prompt.

final @NonNull AuthenticationRequest.Biometric.Builder
@RequiresPermission(value = "android.permission.SET_BIOMETRIC_DIALOG_ADVANCED")
setLogoRes(@DrawableRes int logoRes)

The optional drawable resource of the logo that will be shown on the prompt.

final @NonNull AuthenticationRequest.Biometric.Builder

The minimum biometric strength for the authentication.

final @NonNull AuthenticationRequest.Biometric.Builder
setSubtitle(String subtitle)

The optional subtitle of the prompt.

Public constructors

Builder

Added in 1.4.0-alpha06
public Builder(
    @NonNull String title,
    @NonNull AuthenticationRequest.Biometric.Fallback... authFallbacks
)
Parameters
@NonNull String title

The title of the prompt.

@NonNull AuthenticationRequest.Biometric.Fallback... authFallbacks

A list of Biometric.Fallback options (up to Biometric.getMaxFallbackOptions). If empty, a default "Cancel" button is used; If one option is provided, it is displayed as the negative button on the primary authentication screen. If multiple options are provided, these are displayed as a list on a separate fallback options page.

Public methods

build

Added in 1.4.0-alpha06
public final @NonNull AuthenticationRequest.Biometric build()

Construct an instance of Biometric.

setIsConfirmationRequired

Added in 1.4.0-alpha06
public final @NonNull AuthenticationRequest.Biometric.Builder setIsConfirmationRequired(boolean isConfirmationRequired)

Whether user confirmation should be required for passive biometrics.

setLogoBitmap

Added in 1.4.0-alpha06
@RequiresPermission(value = "android.permission.SET_BIOMETRIC_DIALOG_ADVANCED")
public final @NonNull AuthenticationRequest.Biometric.Builder setLogoBitmap(Bitmap logoBitmap)

The optional bitmap drawable of the logo that will be shown on the prompt. Note that using this method is not recommended in most scenarios because the calling application's icon will be used by default. Setting the logo is intended for large bundled applications that perform a wide range of functions and need to show distinct icons for each function. This requires SET_BIOMETRIC_DIALOG_ADVANCED permission.

setLogoDescription

Added in 1.4.0-alpha06
@RequiresPermission(value = "android.permission.SET_BIOMETRIC_DIALOG_ADVANCED")
public final @NonNull AuthenticationRequest.Biometric.Builder setLogoDescription(String logoDescription)

The optional logo description text that will be shown on the prompt. Note that using this method is not recommended in most scenarios because the calling application's name will be used by default. Setting the logo description is intended for large bundled applications that perform a wide range of functions and need to show distinct description for each function. This requires SET_BIOMETRIC_DIALOG_ADVANCED permission.

setLogoRes

Added in 1.4.0-alpha06
@RequiresPermission(value = "android.permission.SET_BIOMETRIC_DIALOG_ADVANCED")
public final @NonNull AuthenticationRequest.Biometric.Builder setLogoRes(@DrawableRes int logoRes)

The optional drawable resource of the logo that will be shown on the prompt. Note that using this method is not recommended in most scenarios because the calling application's icon will be used by default. Setting the logo is intended for large bundled applications that perform a wide range of functions and need to show distinct icons for each function. This requires SET_BIOMETRIC_DIALOG_ADVANCED permission.

setMinStrength

Added in 1.4.0-alpha06
public final @NonNull AuthenticationRequest.Biometric.Builder setMinStrength(
    @NonNull AuthenticationRequest.Biometric.Strength minStrength
)

The minimum biometric strength for the authentication. Note that Class 3 biometrics are guaranteed to meet the requirements for Class 2 and thus will also be accepted.

setSubtitle

Added in 1.4.0-alpha06
public final @NonNull AuthenticationRequest.Biometric.Builder setSubtitle(String subtitle)

The optional subtitle of the prompt.