2015-05-04 2 views
1

Привет всем, у меня очень тяжело, пытаясь заставить мой syncAdapter работать с поставщиком контента, с которым у меня уже работает.SyncAdapter не запускается. Он всегда в ожидании

ContentResolver.isSyncPending(mConnectedAccount,MyContentProvider.AUTHORITY) 

всегда верно.
Соображения

  • Все ключи и власть: типы счетов являются правильными;
  • я назвал setIsSyncable, а также setSyncAutomatically на contenResolver
  • RequestSync ничего не делает. Код на onPerformSync не исполняется
  • Интернет включен.
  • Я использую фиктивный аутентификатор для выполнения этой работы. Прочтите все, что я могу найти о адаптере синхронизации, и все еще не мог выполнить эту работу.

Любые подсказки о том, что проверить?

ответ

0

Необходимо выполнить следующие аргументы, чтобы сделать работу requestSync().

Bundle settingsBundle = new Bundle(); 
settingsBundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true); 
settingsBundle.putBoolean(ContentResolver.SYNC_EXTRAS_EXPEDITED, true); 
ContentResolver.requestSync(mAccount, AUTHORITY, settingsBundle); 
+0

onPerformSync работает в фоновом режиме справа? Это может объяснить, почему сообщения журнала не отображаются в logcat? – MRodrigues

+0

Забыл упомянуть, попробовал код, который вы отправили, все еще ожидающий ответа, но в любом случае спасибо. Я думаю, что лучше будет отказаться от этого и реализовать ту же логику по-другому, как это сделали многие ... – MRodrigues

+0

Да, onPerformSync работает в фоновом потоке. Кроме того, отправьте код из onPerformSync, Manifest, xml. – Pongpat

Смежные вопросы