Moje pytanie zmienia się po przejściu do Ustawienia -> Konta & Synchronizuj i wybierz konto, które zostało utworzone, aby Twoja SyncAdapter
była synchronizowana z serwerem w chmurze, i wybierz Usuń konto, co się dzieje, jeśli chodzi o twój numer SyncAdapter
? Pojawi się okno dialogowe z prośbą o potwierdzenie, a dane w telefonie powiązane z tym kontem zostaną usunięte. Nie mogę z łatwością uwierzyć, że framework może automatycznie usunąć dane przechowywane przez moją SyncAdapter
w lokalnej bazie danych, ale wydaje się, że oznacza to, że usunięcie konta spowoduje (i zgodziłbym się, że to powinno) usunąć te dane. Czy istnieje dodatek do mojego SyncAdapter
, który będzie służył jako wywołanie zwrotne dla usunięcia konta do obsługi usuwania wszystkich odpowiednich danych z lokalnej bazy danych? Może trzeba to zrobić poprzez AccountManager
; mój AccountManager
otrzymuje powiadomienie, gdy konto zostanie usunięte, a stamtąd mogę wyzwolić usunięcie danych bez numeru SyncAdapter
.Czy SyncAdapter otrzyma powiadomienie, gdy AccountManager usunie konto?
EDYTOWANIE: Czy w powiązanej notatce menedżer synchronizacji dzwoni pod mój numer SyncAdapter
dla każdego konta, które synchronizuje po dodaniu nowego konta? Widzę, że przy dodawaniu konta jest wykonywane onPerformSync(...)
dla wcześniej dodanych kont wraz z dodanym kontem i chciałbym to zatrzymać.
Czy mógłbyś nieco wyjaśnić swoją odpowiedź? O czym mówisz "onCreate"? – akirk
... The ContentProvider, przeczytaj pierwszą linię bliżej.Nie wiem, co jeszcze chcesz "wymyślnego" d –
Czy jest możliwe usunięcie OnAccountsUpdateListener w odpowiednim punkcie cyklu życia ContentProviders? – fr1550n