Biometric 6 min read

Biometric 1.4.0-beta01: The Activity-Result API, Compose Launcher and Multiple Fallbacks

On Nov 4, 2026 AndroidX shipped androidx.biometric 1.4.0-beta01 together with biometric-compose 1.4.0-beta01. The beta release notes only link to a commit log, but the 1.4 alpha series that leads to it adds up to a different way of calling BiometricPrompt: an Activity Result style registration, a Compose launcher, and support for several custom fallback options. This post walks through what the alphas added, so you know what you are adopting when you move to the beta.

1.4.0-beta01
released Nov 4, 2026 (biometric and biometric-compose)
4
custom fallback options on Android 36.1 and up
API 23
new default minSdk (was API 21)

Scope note: the 1.4.0-beta01 entry itself lists no per-change notes, only a commit range. Everything below comes from the 1.4.0-alpha03, alpha05 and alpha06 notes on the official release page. I did not diff the beta against alpha07, so check the commit log before relying on an API staying exactly as it was in an alpha.

1. registerForAuthenticationResult()

Alpha03 (Mar 26, 2025) introduced a new entry point modeled on the Activity Result API. It replaces the old biometric-ktx module and the classic BiometricPrompt constructor dance. You register a callback once, get back an AuthenticationResultLauncher, and start authentication with an AuthenticationRequest.

There are two request types: BiometricRequest, which takes a biometric Strength and an optional Fallback, and CredentialRequest for device-credential-only authentication. Alpha06 also relaxed registration to take a ComponentActivity instead of a FragmentActivity.

The exact builder signatures are not in the release notes, so the sketch below shows the shape of the flow and not copy-paste code. Check the API reference for your artifact version.

class LoginActivity : ComponentActivity() {

    private val authLauncher = registerForAuthenticationResult(
        resultCallback = { result ->
            // AuthenticationResult: success, error, or CustomFallbackSelected
            handleAuthResult(result)
        }
    )

    private fun onUnlockClicked() {
        // Build a BiometricRequest (Strength + optional Fallback)
        // or a CredentialRequest, then start it through the launcher.
        authLauncher.launch(buildRequest())
    }
}

Two details from alpha05 matter for real screens. The failure callback moved into AuthenticationResultCallback and was renamed onAuthAttemptFailed, apps can now pass their own executor for callbacks, and a single Activity or Fragment can hold multiple launchers because results are routed to the launcher that requested them.

2. biometric-compose

Alpha05 (Dec 17, 2025) added the new biometric-compose library. Its entry point is rememberAuthenticationLauncher, which handles requests and callbacks inside a composable so you do not have to reach for the host Activity.

@Composable
fun UnlockButton(onAuthenticated: () -> Unit) {
    val launcher = rememberAuthenticationLauncher(/* result callback */)

    Button(onClick = { launcher.launch(buildRequest()) }) {
        Text("Unlock with biometrics")
    }
}

Both snippets are illustrations of the documented flow (register, build a request, launch, receive a result). The parameter lists are my approximation, not copied from the API reference.

3. Up to four custom fallbacks

Alpha06 (Mar 25, 2026) added what the notes call multiple fallback options. Starting with Android 36.1 (Baklava), the biometric prompt supports up to four custom fallback options instead of a single negative button. You describe them, with icons on supported Android versions, through AuthenticationRequest.Biometric.Fallback.

The behavior change to plan for: a tap on one of these options is delivered as AuthenticationResult.CustomFallbackSelected, not as an error code. If your current code treats the negative button as ERROR_NEGATIVE_BUTTON and shows a password screen, that logic needs a second branch for the new result type.

4. Other API and behavior changes worth knowing

Migration checklist

Sources: the AndroidX Biometric release notes page (developer.android.com/jetpack/androidx/releases/biometric) and the AndroidX all-channel release list, both retrieved Nov 9, 2026.

Comments 0

No comments yet. Be the first to leave one!

Leave a comment