Как подать сигнал sync-complete на Android SyncManager?
Я использовал cancelRequest () из моего SyncAdapter, как раз перед его выходом из потока, но затем я решил, что он предназначен только для использования другой сущностью (UI), которая хочет отменить синхронизацию в процессе (слишком долго, упс и т. д.)
Теперь моя синхронизация думает, что всегда есть ожидающий запрос , который я использую, чтобы игнорировать новые запросы.
Другая вещь, которую я собираюсь, - это поток слушателя в Службе, который прослушивает изменения в Contactscontact.Авторитет так что он может запустить синхронизацию моей агрегации.
UPDATE: этот поток прослушивателя протекает. Я выдал .stop () когда я закончу с этим, однако, есть обработчик, который, как я думаю, остается в живых и не дает службе остановиться.
Я хотел бы отправить SyncResults некоторому объекту (т. е. SyncManager), который отслеживает такие вещи для отложенных, рециркуляционных и т. д.
Что я упускаю?
2 ответа:
Вы можете использовать SyncResult Этот класс используется для передачи результатов операции синхронизации в SyncManager. На основании приведенных здесь значений SyncManager определит расположение синхронизации и необходимость планирования новой операции синхронизации в будущем