2016-01-21 5 views
3

Я Запуск ручной синхронизации с использованием метода нижеRetry механизм в Android SyncAdapter

public void startSync(){ 
     Bundle syncBundle = new Bundle(); 
     syncBundle.putBoolean(ContentResolver.SYNC_EXTRAS_EXPEDITED, true); 
     syncBundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true); 
     syncBundle.putInt(Utils.SYNC_TYPE, USER_DATA); 

     ContentResolver.requestSync(acts[0], CONTENT_AUTHORITY, syncBundle); 

    } 

скажем синхронизации не удается из-за какой-то причине:

1. Ошибка сети - Как начать синхронизацию еще раз, когда сеть возвращается

2. Плохой ответ от сервера - лучший способ повторить

3. Устройство закрыли - лучший путь для возобновления синхронизации при загрузке устройства до

Есть ли механизм в рамках синхронизации с андроидом, который обрабатывает это **

ответ

2

Для # 1 и # 2. вы можете сообщить об ошибке «мягкой», а затем он должен автоматически повторить (с экспоненциальным снижением мощности):

syncResult.stats.numIoExceptions++; 

для # 4 можно создать вещательный приемник для android.intent.action.BOOT_COMPLETED, а затем вызвать вашу ручную синхронизацию оттуда.