一概念
ContentObserver用于观察(捕捉)特定Uri引起的数据的变化,继而做一些相应的处理,当ContentObserver所观察的Uri发生变化时,便会触发它。
从概念看ContentObserver特别适合用于监视系统数据的变化,比如数据库发生了改动,或者其他任何已经在UriMatcher类注册过的Uri,比如:Settings.System.ACCELEROMETER_ROTATION,可以监视系统屏幕的方向。
二使用
1.创建
mObserver = new ContentObserver(new Handler()) {
public void onChange(boolean selfChange) {
updateScreenRotationBtn();
}
};
2.注册ContentResolver cr = getContentResolver(); Uri tmp = Settings.System.getUriFor(Settings.System.ACCELEROMETER_ROTATION); cr.registerContentObserver(tmp, false, mObserver);