Я реализовал новый androidx.biometri c: биометрия c: 1.0.1 , как описано здесь и с использованием setDeviceCredentialAllowed (true) . В API 29 он работает правильно, в API <29, когда не заданы учетные данные устройства, я ожидаю получить <strong>ERROR_NO_DEVICE_CREDENTIAL , но я получаю ERROR_USER_CANCELED , это ошибка библиотеки и если да, где я могу сообщить об этом? или если нет, что я пропускаю?
Поскольку в документации сказано, что эта библиотека обратно совместима, я ожидаю, что мне не нужно ничего обрабатывать самостоятельно для API <29, верно? </p>
Как я мог видеть в BiometricPrompt. java есть кодовый блок:
case DeviceCredentialHandlerBridge.RESULT_ERROR:
// Device credential auth failed. Assume this is due to the user canceling.
final CharSequence errorMsg = getActivity() != null
? getActivity().getString(R.string.generic_error_user_canceled) : "";
mAuthenticationCallback.onAuthenticationError(
BiometricConstants.ERROR_USER_CANCELED, errorMsg);
bridge.stopIgnoringReset();
bridge.reset();
break;
Впрочем, не знаю.