В настоящее время я использую Smart Lock для пароля в приложении android, я следую документации: https://developers.google.com/identity/smartlock-passwords/android/store-credentials
в android Oreo и выше есть это автозаполнение функция, и я вижу всплывающее окно автозаполнения в поле, моя проблема заключается в том, что я пытаюсь сохранить учетные данные, я получаю сообщение об ошибке:
16: Credentials API's save confirmation dialog has been disabled to avoid conflicts with the Android Autofill feature. This choice may be overridden via CredentialsOptions.
, которое я прочитал в других сообщениях это ожидаемая ошибка, и она предназначена для предотвращения, как указано в conflicts with the Android Autofill feature
, но я не вижу другого диалогового окна для подтверждения учетных данных для сохранения.
Пробовал с эмуляторами и реальными устройствами получаю тот же результат. Затем я попытался принудительно отобразить диалоговое окно Smart Lock для сохранения паролей, следуя документации:
Включить диалоговое окно подтверждения сохранения для всех платформ с помощью CredentialsOptions при создании CredentialsClient.
CredentialsOptions options = new CredentialsOptions.Builder()
.forceEnableSaveDialog()
.build();
mCredentialsClient = Credentials.getClient(this, options);
Подавить диалоговое окно сохранения автозаполнения, отметив представление root, связанное с полями входа в систему, как неважное для автозаполнения:
<!-- Mark the root view with android:importantForAutofill="noExcludeDescendants" -->
<LinearLayout
android:importantForAutofill="noExcludeDescendants"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- ... -->
</LinearLayout>
Я сделал это, и он сработал, диалоговое окно отображалось при сохранении, но функция автозаполнения исчез (как и ожидалось), и мне нужны всплывающие окна, это часть моих требований.
Я также пробовал применять только CredentialsOptions options
, упомянутый выше, без свойства в XML, что не не работает. Даже хуже, при отмене это приложение перестало работать, как ожидалось, и начало выдавать упомянутую ранее ошибку, я удалил и перезапустил телефон, но по-прежнему не показывает диалоговое окно и выдает ту же ошибку, хотя в нем есть исправление для подавления примененного автозаполнения .
У меня есть чек, а приложения нет в списке declined sites and apps
Я проверил систему -> язык -> еще -> автозаполнение -> выбрано Google
Надеюсь, кто-нибудь может мне помочь.