Мне нужен способ обновлять данные в моем приложении. Я читал о SyncAdapter и увидел, что для него требуется AbstractAccountAuthenticator, но мое приложение не требует от пользователя заполнения какой-либо информации о пользователе/пароле. Как я могу справиться с этим?
Как использовать SyncAdapter для приложения, не требующего аутентификации
Ответы (2)
Если ваша проблема заключается в синхронизации контактов в родной адресной книге и у вас нет аутентификатора и пользователя, зарегистрированного с этой учетной записью, то созданные вами контакты отображаться не будут.
Что я сделал, так это создал аутентификатор-заглушку.
Попробуй это:
пример аутентификатора-заглушки
Учтите, что реальная проблема с SyncAdapter заключается в том, что он не активен, если нет подключения к Интернету. Причина в том, что адаптеры синхронизации используются для синхронизации ваших локальных данных с внутренним сервером, поэтому, если у вас нет подключения к Интернету, вы не можете синхронизироваться, а фреймворк отключает SyncAdapter. Что я сделал, так это создал свой собственный компонент для синхронизации контактов.
Адаптер синхронизации не требует AbstractAccountAuthenticator. SampleSyncAdapter использует один, потому что он использует аутентификацию, но аутентификация не требуется. Образец делает это, потому что он синхронизирует контакты с поставщиком контактов.
Адаптер синхронизации связан с типом учетной записи. Вы указываете это в файле XML для адаптера синхронизации.