我正在跟踪浏览器链接。所以,我正在使用我在ContentObserver
注册的ContentObserver
。
所以我必须在一个ContentObserver
中注册多个URI。
在单个ContentObserver中注册多个URI是个好主意还是会出现任何问题如果我喜欢这个?
BlockURL.java
public class BlockURLObserver extends ContentObserver {
private Context context;
public BlockURLObserver(Context con) {
super(null);
context = con;
context.getContentResolver().registerContentObserver(Uri.parse("content://com.android.chrome.browser/bookmarks"), true, this);
context.getContentResolver().registerContentObserver(Browser.BOOKMARKS_URI, true, this);
}
...
}
答案 0 :(得分:2)
我认为,更好地创建单个内容观察者来监听多个URI。而是创建多个观察者..
这里有一个共同的解释。
可以在单个contentobserver中注册多个URI。 同时,使用URI可以区分onChange()中的代码。
@Override
public void onChange(boolean selfChange, Uri uri) {
super.onChange(selfChange);
}
这个onChange(boolean selfChange,Uri uri)从API 16开始执行。这样您就可以在单个内容观察器中注册多个URI。
@Override
public void onChange(boolean selfChange, Uri uri) {
super.onChange(selfChange);
if(uri.toString.equalsgetUrifor((BOOKMARKS_URI))) {
//do your stuff
}
if(uri.toString.equals(getUrifor(SOMETHING_ELSE))) {
//...
}
}