本人 菜鸟 有很多语言都是理解来说 请别喷 我从来都不记那些名词
功能: 让系统帮你监测 一个你想要知道变化的东西 如果这个东西变化了,系统 便会告诉你 ,你再相应的处理
有点像windows里网络的那几个网络模型 等有消息后系统告诉你 帮你解决
为指定的Uri注册一个ContentObserver派生类实例,当给定的Uri发生改变时,回调该实例对象去处理。
ContentResolver 是内容观察者 一个抽象类
得到的类的对象时调用getContentResolver()来获得一个对象 通常是this调用
resolver_sms.registerContentObserver
是把这个内容观测者 注册到内存中 从而观察相应uri的变化
下面是具体的参数
参数:uri
需要观察的Uri(需要在UriMatcher里注册,否则该Uri也没有意义了)
notifyForDescendents
为false 表示精确匹配,即只匹配该Uri
Uri uri = Uri.parse("content://sms/");
ContentResolver resolver_sms = getActivity().getContentResolver();resolver_sms.registerContentObserver(uri, true, new Temp_ContentObserver(new Handler()));
下面是重写的 ContentObserver这个类 来完成 相应的观察者 所观察的东西变化 而返回来的消息
private class Temp_ContentObserverextends ContentObserver
{
public Temp_ContentObserver(Handler handler)
{
super(handler);
}
// 内容观察者观察到内容变化调用
// 观察到消息邮箱有一条数据库内容变化的通知
@Override
public void onChange(boolean selfChange)
{
super.onChange(selfChange);
Toast.makeText(getActivity(), "内容变化啦", 0).show();
}
}