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);
}