Платформа автозаполнения отключена в приложении, но включена в других приложениях
Я столкнулся с проблемами при попытке использовать Autofill Framework для фрагмента входа в систему, он не показывает всплывающее окно сохранения. я размещен android:autofillHints
атрибут на обоих текстовых полях, то я попытался android:importantForAutofill="yes"
на обоих с одинаковыми результатами, и я тоже пытался позвонить AutofillManager.requestAutofill()
а также AutofillManager.commit()
вручную.
Затем я скачал пример отсюда и установил его, и он работал нормально. Я использовал отладку для проверки AutofillManager в обоих приложениях, и оказалось, что AutofillManager.isEnabled()
дает разные результаты: true в примере приложения и false в моем приложении. В обоих случаях я проверил первую строку onCreate()
в первом действии приложения, которое в обоих случаях не содержит полей для заполнения.
Вот почему я думаю, что проблема не в файлах кода или макета, а скорее в файлах gradle или manifest, но я не смог найти никакой разницы в тех, которые могли бы повлиять на среду автозаполнения. Я не думаю, что фреймворк также имеет значения конфигурации. Я проверил targetSdk и minSdk, но это не так
Что еще я должен проверить?
2 ответа
AutofillManager.isEnabled()
не должно приводить к различным результатам в вашем приложении или образце приложения, я предполагаю, что вы используете неправильный контекст, чтобы получить менеджера, это должно быть Activity
,
Возможно, вам потребуется настроить службу автозаполнения и добавить логику привязки представления данных в методе onProvideAutofillStructure.
<!--
Declare AutofillService implementation; only needed for a small number of apps that will
be implementing an AutofillService. Framework parses meta-data and sets the service's
Settings Activity based on what the meta-data resource points to.
-->
<service
android:name=".MyAutofillService"
android:label="Multi-Dataset Autofill Service"
android:permission="android.permission.BIND_AUTOFILL_SERVICE">
<meta-data
android:name="android.autofill"
android:resource="@xml/multidataset_service" />
<intent-filter>
<action android:name="android.service.autofill.AutofillService" />
</intent-filter>
</service>