Я использовал cancelRequest () из моего SyncAdapter, непосредственно перед тем, как он выходит из своего потока, но затем я решил, что он предназначен только для использования другим объектом (UI), который хочет отменить синхронизацию в процессе (слишком долго К сожалению, и т. д.)
Теперь моя синхронизация считает, что всегда есть ожидающий запрос, который я использую для игнорирования новых запросов.
Другая вещь, которую я собираюсь сделать, - это поток слушателя в Сервисе, который прослушивает изменения в ContactsContract.AUTHORITY , чтобы он мог запустить синхронизацию моего агрегирования.
ОБНОВЛЕНИЕ: Этот поток слушателя протекает. Когда я покончу с этим, я выдаю .stop (), однако есть обработчик, который, я думаю, остается в живых и не дает сервису остановиться.
Я хотел бы отправить SyncResults некоторому объекту (например, SyncManager), который отслеживает такие вещи для ожидания, повторного использования и т. Д.
Чего мне не хватает?