一概念
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);