Использование AccountManager addAccountExplicitly занимает много времени для первой синхронизации

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

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

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

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

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

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

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

1 ответ

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

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

ContentResolver.cancelSync(account, authority);

Другие вопросы по тегам