Как подать сигнал sync-complete на Android SyncManager?


Я использовал cancelRequest () из моего SyncAdapter, как раз перед его выходом из потока, но затем я решил, что он предназначен только для использования другой сущностью (UI), которая хочет отменить синхронизацию в процессе (слишком долго, упс и т. д.)

Теперь моя синхронизация думает, что всегда есть ожидающий запрос , который я использую, чтобы игнорировать новые запросы.

Другая вещь, которую я собираюсь, - это поток слушателя в Службе, который прослушивает изменения в Contactscontact.Авторитет так что он может запустить синхронизацию моей агрегации.

UPDATE: этот поток прослушивателя протекает. Я выдал .stop () когда я закончу с этим, однако, есть обработчик, который, как я думаю, остается в живых и не дает службе остановиться.

Я хотел бы отправить SyncResults некоторому объекту (т. е. SyncManager), который отслеживает такие вещи для отложенных, рециркуляционных и т. д.

Что я упускаю?

2 5

2 ответа:

Вы можете использовать SyncResult Этот класс используется для передачи результатов операции синхронизации в SyncManager. На основании приведенных здесь значений SyncManager определит расположение синхронизации и необходимость планирования новой операции синхронизации в будущем