Hi.
I created this GitHub issue a few weeks ago, but it has received no feedback so I’m posting here just in case:
As explained in that issue, by default the Biometrics prompt in Android will not progress to the next screen after a successful unlock with a “passive” biometric system, such as the secure face unlock used in newer Pixel phones. Instead, it will prompt the user to press a “Confirm” button before moving forward, as seen is this example:
This makes sense for high-risk operations, such as confirming a purchase, but it makes no sense for low-risk actions like logging into an app. From the Android docs:
Authenticate without explicit user action
By default, the system requires users to perform a specific action, such as pressing a button, after their biometric credentials are accepted. This configuration is preferable if your app is showing the dialog to confirm a sensitive or high-risk action, such as making a purchase.
If your app shows a biometric authentication dialog for a lower-risk action, however, you can provide a hint to the system that the user doesn’t need to confirm authentication. This hint can allow the user to view content in your app more quickly after re-authenticating using a passive modality, such as face- or iris-based recognition. To provide this hint, pass
false
into thesetConfirmationRequired()
method.
All that needs to be done is adding the .setConfirmationRequired(false)
flag to the Biometric prompt builder, and the authentication will work the same way it does on an iPhone, seamlessly taking the user to the next screen with no action on their side.
Could you please make this change so we also get a smooth experience when using face unlock?
Thanks!