использование AccountManager addAccountExplicitly занимает много времени для первой синхронизации - PullRequest
4 голосов
/ 18 августа 2011

Я использую AccountManager addAccountExplicitly (), чтобы добавить учетную запись в AccountManager. Я тогда звоню

ContentResolver.setSyncAutomatically(account, ContactsContract.AUTHORITY, true);

После этого при просмотре на экране устройства «Учетные записи и синхронизация» я вижу свою учетную запись, НО при нажатии на нее я вижу, что флажок «Синхронизировать контакты» не отображается. Для его появления может потребоваться несколько минут ...

Я узнал, что если я слушаю добавляемую учетную запись и после задержки (2 секунды) звоню:

ContentResolver.requestSync(account, ContactsContract.AUTHORITY, new Bundle());

Синхронизируется.

1.Почему требуется время для синхронизации учетной записи? 2. это правильный способ синхронизировать аккаунт? (это всегда будет работать?)

1 Ответ

0 голосов
/ 15 сентября 2013

У меня была похожая проблема, и отредактированная часть в этом ответе помогла мне. Первая синхронизация повторяется бесконечно

При первой синхронизации вызовите cancelSync и повторите попытку синхронизации.

ContentResolver.cancelSync(account, authority);

...