首页 > 代码库 > android点滴之ContentObserver的使用

android点滴之ContentObserver的使用

一概念

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