内容观察者简单使用

0. 定义内容监听者子类

class MyContentObserver extends ContentObserver {

    /**
     * Creates a content observer.
     *
     * @param handler The handler to run {@link #onChange} on, or null if none.
     */
    public MyContentObserver(Handler handler) {
        super(handler);
    }

    @Override
    public void onChange(boolean selfChange) {
        // 数据变化重新加载
        mAllLockedApps = mDao.getAllLockedApps();

        super.onChange(selfChange);
    }
}

1. 注册内容监听者.

// 1. 创建内容监听者
mContentObserver = new MyContentObserver(new Handler());
// 2. 注册内容监听者 , true 表示模糊匹配
ctx.getContentResolver().registerContentObserver(Uri.parse("content://applock/change"),true, mContentObserver);

2. 发送数据变化通知

// 通知数据发生变化, 下面是URL
mContext.getContentResolver().notifyChange(Uri.parse("content://applock/change"),null);

3. 使用后要注销监听

// 解除内容监听
if (mContentObserver != null) {
    ctx.getContentResolver().unregisterContentObserver(mContentObserver);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,131评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,081评论 25 709
  • 1 场景问题# 1.1 订阅报纸的过程## 来考虑实际生活中订阅报纸的过程,这里简单总结了一下,订阅报纸的基本流程...
    七寸知架构阅读 4,704评论 5 57
  • 每天的时间在不经意间悄然滑过,今天是峻丞七岁的生日,襁褓中的婴儿变成了现在的小小少年,每天各自忙碌上班上学,回来尽...
    毛毛咻咻萌萌阅读 128评论 0 0
  • 打卡第二天 明显感觉今天比昨天好了很多, 加油吧。
    七月安八月散阅读 339评论 4 0