当前位置:编程学习 > wap >>

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

我写的代码如下:
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  检测不到

我哪里出问题了?? --------------------编程问答-------------------- mObserverGroup 和 mObserver监听的ContentProvider都不一样
一个是ContactsContract.Groups.CONTENT_URI,一个是ContactsContract.Data.CONTENT_URI

那当然是各自监听各种的改变事件了。。。 --------------------编程问答-------------------- wenzheng38
我现在的需求是各自监听 各自的改变事件,但是实际情况下不是啊!!只要数据库变动,不管是Group表的变动还是Data表的变动,mObserverGroup 和 mObserver都能监听到!!!
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,