Итак, мой вопрос повторяется: когда вы переходите в «Настройки» -> «Учетные записи и синхронизация» и выбираете созданную учетную запись, которую ваш SyncAdapter
синхронизирует с облачным сервером, и выбираете «Удалить учетную запись», что происходит с вашим SyncAdapter
обеспокоен? Появится диалоговое окно с просьбой подтвердить и удалить данные на телефоне, связанные с этой учетной записью. Я не могу легко поверить, что фреймворк может автоматически удалять данные, которые мой SyncAdapter
сохранил в локальной базе данных, но, похоже, подразумевается, что удаление учетной записи будет (, и я согласен, что следует )удалить эти данные. Есть ли дополнение к моему SyncAdapter
, которое будет служить своего рода обратным вызовом для удаления учетной записи, чтобы обрабатывать удаление всех соответствующих данных из локальной базы данных? Возможно, это нужно сделать через AccountManager
; мой AccountManager
получает уведомление, когда учетная запись удаляется, и оттуда я могу инициировать удаление данных без SyncAdapter
.
РЕДАКТИРОВАТЬ :В связи с этим диспетчер синхронизации вызывает мой SyncAdapter
для каждой учетной записи, которую он синхронизирует при добавлении новой учетной записи? Я вижу, что onPerformSync(...)
выполняется для ранее добавленных учетных записей вместе с только что добавленной учетной записью, когда я добавляю учетную запись, и хотел бы остановить это.