如何使用Android ContentObserver 监听数据库变化

houshunbing 2011-10-22 05:04:00
我写的代码如下:
ContentResolver localContentResolver2 = getContentResolver();
Uri localUri2 = ContactsContract.Groups.CONTENT_URI;
localContentResolver2.registerContentObserver(localUri2, true, mObserverGroup);
ContentResolver localContentResolver3 = getContentResolver();

ContentResolver localContentResolver1 = getContentResolver();
Uri localUri1 = ContactsContract.Data.CONTENT_URI;
localContentResolver1.registerContentObserver(localUri1, true, mObserver);

public class ContactDatabaseObserverGroup extends ContentObserver {

public ContactDatabaseObserverGroup(Handler handler) {
super(handler);
// TODO Auto-generated constructor stub
}

@Override
public boolean deliverSelfNotifications() {
// TODO Auto-generated method stub
return super.deliverSelfNotifications();
}

//ContactDatabaseObserverGroup
@Override
public void onChange(boolean selfChange) {
// TODO Auto-generated method stub
super.onChange(selfChange);
}

}

我现在的需求是 在添加分组的时候mObserverGroup 被检测,而mObserver检测不到
在添加联系人的时候mObserver检测到, 而mObserverGroup 检测不到

我哪里出问题了??
...全文
822 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
houshunbing 2011-10-24
  • 打赏
  • 举报
回复
wenzheng38
我现在的需求是各自监听 各自的改变事件,但是实际情况下不是啊!!只要数据库变动,不管是Group表的变动还是Data表的变动,mObserverGroup 和 mObserver都能监听到!!!
wenzheng38 2011-10-23
  • 打赏
  • 举报
回复
mObserverGroup 和 mObserver监听的ContentProvider都不一样
一个是ContactsContract.Groups.CONTENT_URI,一个是ContactsContract.Data.CONTENT_URI

那当然是各自监听各种的改变事件了。。。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧