Он не отображается в моем телефоне: Система> Язык и ввод> Дополнительные настройки> Автозаполнение после помещения службы в манифест и предоставления необходимых разрешений, рекомендованных в документации по фреймворку Android Autofill.
Файл манифеста
<application android:allowBackup = "true"
android:icon = "@mipmap/ic_launcher"
android:label = "@string/app_name"
android:roundIcon = "@mipmap/ic_launcher_round"
android:supportsRtl = "true"
android:theme = "@style/AppTheme">
<activity android:name = ".MainActivity">
<intent-filter>
<action android:name = "android.intent.action.MAIN" />
<category android:name = "android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name = ".Filler"
android:permission = "android.permission.BIND_AUTO_FILL">
<meta-data android:name = "android.autofill"
android:resource = "@xml/filler"/>
<intent-filter>
<action android:name = "android.service.autofill.AutofillService"/>
</intent-filter>
</service>
</application>
Нужно ли мне реализовать какой-либо метод в моем классе MainActivity, чтобы зарегистрировать его в службе автозаполнения?
Не профессионал, но: в MainActivity ничего не нужно. Ваше заявление кажется нормальным. Я думаю, вы тоже создали класс для своих услуг?
class MyAutofillService : AutofillService() {
override fun onFillRequest(
request: FillRequest,
cancellationSignal: CancellationSignal,
callback: FillCallback
) {
//handel fill request
callback.onSuccess(null)
}
}
Я могу выбрать услугу, и моя декларация:
<service
android:name = ".MyAutofillService"
android:label = "MyLabel"
android:permission = "android.permission.BIND_AUTOFILL_SERVICE">
<intent-filter>
<action android:name = "android.service.autofill.AutofillService" />
</intent-filter>
</service>
Есть ли ошибки при отладке приложения?