Я настроил приложение для поддержки Android Oreo с помощью compileSdkVersion 26
. Я также установил android:autofillHints="phone"
для поля ввода номера телефона. Когда я нажимаю на поле, я вижу, что появляется "Автозаполнение" . Однако, когда я нажимаю "Автозаполнение" , "Содержимое не может быть автозаполнено" появляется тост, и я вижу следующий след в logcat:
RemoteFillService Not handling { when=-3ms what=3 target=com.android.internal.os.HandlerCaller$MyHandler } as service for ComponentInfo{com.google.android.gms/com.google.android.gms.autofill.service.AutofillService} is already destroyed
View dispatchProvideAutofillStructure(): not laid out, ignoring
Как мне это исправить? Я подтвердил, что у меня есть номер телефона, настроенный в "Настройки" > "Система" > "Языки" и введите "Дополнительно" > "Enter" > "Автозаполнение" .
UPDATE с образцом XML: в настройках эмулятора API 26 я могу выбрать "Автозаполнение с помощью Google". Используя вкладку "Дизайн" в Android Studio, я добавил тип "Телефон" EditText
, а затем вручную вставил android:autofillHints="phone"
в элемент XML:
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="phone"
android:autofillHints="phone" />
Особенности Logcat, описанные выше, можно наблюдать с помощью этого XML.