Платформа автозаполнения отключена в приложении, но включена в других приложениях

Я столкнулся с проблемами при попытке использовать 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>
Другие вопросы по тегам