【发布时间】:2013-05-14 16:05:02
【问题描述】:
我实现了历史内容观察器,但它的行为很奇怪。对于历史中的每一次更改,它的 onChange() 函数都会运行 3-5 次。
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);
}
}
我还使用
注册了我的观察者BrowserOberser observer = new BrowserOberser();
getApplication().getContentResolver().registerContentObserver(Browser.BOOKMARKS_URI, true, observer );
并在清单中添加了所需的权限。
代码运行良好,但 onChange();每次历史变化运行 3-5 次
谁能帮我解决这个问题?
【问题讨论】:
-
我观察到的是第一次和第三次运行之间的区别是:在第一次运行中,标题与 url 相同,但在第三次运行中出现了适当的标题。所以这可能是因为页面加载的阶段。但它到底是什么?为什么运行次数不同?
-
如果您需要更多信息,请发表评论
标签: android browser android-contentprovider contentobserver