Получает ли SyncAdapter уведомление, когда AccountManager удаляет учетную запись?

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

РЕДАКТИРОВАТЬ :В связи с этим диспетчер синхронизации вызывает мой SyncAdapterдля каждой учетной записи, которую он синхронизирует при добавлении новой учетной записи? Я вижу, что onPerformSync(...)выполняется для ранее добавленных учетных записей вместе с только что добавленной учетной записью, когда я добавляю учетную запись, и хотел бы остановить это.

6
задан Dandre Allison 26 June 2012 в 22:07
поделиться