Платформа автозаполнения отключена в приложении, но включена в других приложениях - PullRequest
0 голосов
/ 18 сентября 2018

Я столкнулся с проблемами при попытке использовать Autofill Framework для фрагмента входа в систему, он не показывает всплывающее окно сохранения.Я поместил атрибут android:autofillHints в оба текстовых поля, затем попытался android:importantForAutofill="yes" в обоих с одинаковыми результатами, и я также попытался вызвать AutofillManager.requestAutofill() и AutofillManager.commit() вручную.

Далее я скачал примерс здесь и установил его, и он работал нормально.Я использовал debug для проверки AutofillManager в обоих приложениях, и оказалось, что AutofillManager.isEnabled() дает разные результаты: true в примере приложения и false в моем приложении.В обоих случаях я проверил первую строку onCreate() в первом действии приложения, которое в обоих случаях не содержит полей для заполнения.

Вот почему я думаю, что проблема не в коде илифайлы макетов, а точнее в файлах gradle или manifest, но я не смог найти никакой разницы в тех, которые могли повлиять на платформу автозаполнения.Я не думаю, что фреймворк также имеет значения конфигурации.Я проверил targetSdk и minSdk, но это не так

Что еще я должен проверить?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Может потребоваться настроить службу автозаполнения, и вам необходимо добавить логику привязки данных представления в методе 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>
0 голосов
/ 11 октября 2018

AutofillManager.isEnabled() не должно приводить к различным результатам в вашем приложении или образце приложения, я предполагаю, что вы используете неправильный контекст для получения менеджера, это должен быть Activity.

...