Tôi đã triển khai người quan sát nội dung lịch sử nhưng nó hoạt động lạ. Đối với mọi thay đổi trong lịch sử, hàm onChange() của nó chạy 3-5 lần.Trình theo dõi nội dung lịch sử Android
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);
}
}
Tôi cũng đăng ký quan sát của tôi sử dụng
BrowserOberser observer = new BrowserOberser();
getApplication().getContentResolver().registerContentObserver(Browser.BOOKMARKS_URI, true, observer);
và bổ sung quyền yêu cầu trong biểu hiện.
Mã hoạt động tốt nhưng onChange(); chạy 3-5 lần cho mỗi thay đổi trong lịch sử
Có ai có thể giúp tôi giải quyết vấn đề này không?
http://stackoverflow.com/questions/6026547/android-content-observers-onchange-method-is-called-multiple-times không giúp ích gì cho tôi. – anon
Điều tôi quan sát được là sự khác biệt giữa lần chạy thứ nhất và thứ ba là: Trong tiêu đề chạy đầu tiên giống như url nhưng trong lần chạy thứ ba, tiêu đề phù hợp xuất hiện. Vì vậy, nó có thể là do các giai đoạn các trang được nạp vào. Nhưng chính xác thì nó là gì? Và tại sao số lần chạy lại khác nhau? – anon
xin vui lòng để lại một bình luận nếu bạn cần thêm thông tin – anon