Android AutoSync Run интервал? - PullRequest
       1

Android AutoSync Run интервал?

6 голосов
/ 24 марта 2011

Кто-нибудь знает, что когда у вас включена автосинхронизация, как часто синхронизируются учетные записи Google для различных приложений? Я знаю, что это почти мгновенно для Gmail, но как насчет других вещей? например если у меня есть приложение Picasa, которое использует SyncAdapter для синхронизации локальных фотографий с онлайн, как часто будет вызываться метод onPerformSync ?

Кроме того, можно ли переопределить этот интервал?

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Автосинхронизация будет запущена при изменении в источниках данных.

Например. Если у вас есть SyncAdapter для контактов, который настроен на автоматическую синхронизацию, то onPerformSync будет вызываться при изменении контактов через 30 с.

1 голос
/ 18 апреля 2011

Я нашел другой способ настройки этой задержки (это может привести к другим побочным эффектам, внимательно проверьте следующий шаг)

Это происходит с помощью комбинации ContentObserver и AccountManager api.Ниже приведены шаги:

  1. Зарегистрируйте ContentObserver в БД контактов.
  2. При любых изменениях в Контактах db, onChange вашего contentObserver будет срабатывать.Внутри этой функции отмените ожидающие запросы syncRequest, как показано ниже.`ContentResolver.cancelSync (account, ContactsContract.AUTHORITY);
  3. Теперь запланируйте синхронизацию в соответствии с требуемой задержкой.

Вышеуказанное будет иметь побочный эффект, так как ContentObserver будет работать постоянно, и это не рекомендуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...