先创建一个内部类继承自ContentObserver
class SettingsContentObserver extends ContentObserver {
public SettingsContentObserver() {
super(new Handler());
}
@Override
public void onChange(boolean selfChange) {
//do something
}
}
然后初始化ContentObserver并向ContentResolver注册监听。
SettingsContentObserver mContentObserver = new SettingsContentObserver();
getContentResolver().registerContentObserver(Settings.Global.getUriFor("your_key"), true, mContentObserver);
在不需要时注销监听
getContentResolver().unregisterContentObserver(mContentObserver);
在ContentObserver的onChange()方法里面就可以收到值改变的回调,做你想做的事就好了。