内容观察者ContentObserver(独立应用)
1.原理
2.开发ContentProvider时,实现的insert、delete、update方法中的其中一个导致了ContentProvider里数据发生改变,程序就可调用如下代码:
getContext().getContentResolver().notifyChange(uri,null);
uri:通知所有注册在该Uri上的监听者
ContentObserver observer:一般该值为null(不需要特定指哪个监听者来监听)
3.新建应用注册监听器
Uri:该监听器所要监听的ContentProvider的Uri
notifyForDescendents:
true假设注册监听的uri为content://sms/ 那么Uri为content://sms/abc、content://sms/xyz/foo的数据改变时也会出发该监听器
flase假设注册监听的uri为content://sms/ 那么只有Uri为content://sms/的数据发生改变时才会触发该监听器
ContentObserver:为基类监听数据的变化,继承它的子类需要重写onChange(BooleanselfChange)----当它所监听ContenProvider的数据改变时回调该方法
PS:
third如ContentObserver、other如CotentProvider、A如系统的短信应用、空白如公共的内存空间(消息邮箱)