Я использовал биометрические данные для аутентификации отпечатков пальцев или распознавания лиц. Это работает! Но я хочу использовать только отпечаток пальца или распознавание лиц только в том случае, если на моем устройстве настроены оба варианта. Могу я это сделать или нет? и как я могу это сделать, если может? Вот мой код
@RequiresApi(api = Build.VERSION_CODES.P)
public void authenticateUser(@NonNull Activity activity) {
BiometricPrompt biometricPrompt = new BiometricPrompt.Builder(activity)
.setTitle("Biometric Demo")
.setSubtitle("Authentication is required to continue")
.setDescription("This app uses biometric authentication to protect your data.")
.setNegativeButton("Cancel", activity.getMainExecutor(),
(dialogInterface, i) -> {
mCallback.onCancel();
})
.build();
biometricPrompt.authenticate(mCancellationSignal, activity.getMainExecutor(),
getAuthenticationCallback());
}
@RequiresApi(api = Build.VERSION_CODES.P)
private BiometricPrompt.AuthenticationCallback getAuthenticationCallback() {
return new BiometricPrompt.AuthenticationCallback() {
@Override
public void onAuthenticationError(int errorCode,
CharSequence errString) {
super.onAuthenticationError(errorCode, errString);
mCallback.onError();
}
@Override
public void onAuthenticationHelp(int helpCode,
CharSequence helpString) {
super.onAuthenticationHelp(helpCode, helpString);
}
@Override
public void onAuthenticationFailed() {
super.onAuthenticationFailed();
}
@Override
public void onAuthenticationSucceeded(
BiometricPrompt.AuthenticationResult result) {
super.onAuthenticationSucceeded(result);
mCallback.onAuthenticated();
}
};
}