Zaimplementowałem obserwatora zawartości historii, ale zachowuje się dziwnie. Przy każdej zmianie w historii jego funkcja onChange() działa 3-5 razy.Obserwator zawartości Androida
static class BrowserOberser extends ContentObserver {
public BrowserOberser() {
super(null);
}
@Override
public boolean deliverSelfNotifications() {
return true;
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Log.d("History", "onChange: " + selfChange);
}
}
ja również zarejestrowany mój obserwatorem
BrowserOberser observer = new BrowserOberser();
getApplication().getContentResolver().registerContentObserver(Browser.BOOKMARKS_URI, true, observer);
i dodano wymaganych uprawnień w manifeście.
Kod działa poprawnie, ale OnChange(); działa 3-5 razy dla każdej zmiany w historii Czy ktoś może mi pomóc w rozwiązaniu tego problemu?
http://stackoverflow.com/questions/6026547/android-content-observers-onchange-method-is-called-multiple-times nie pomógł mi. – anon
Zauważyłem, że różnica między pierwszym a trzecim runem była taka: W pierwszym uruchomieniu tytuł jest taki sam jak adres URL, ale w trzecim uruchomieniu obecny jest odpowiedni tytuł. Może dlatego, że są to etapy ładowania stron. Ale co to właściwie jest? I dlaczego liczba przebiegów różni się? – anon
proszę zostawić komentarz, jeśli potrzebujesz więcej informacji – anon