收听 SharedPreferences 更改
SharedPreferences sharedPreferences = ...;
sharedPreferences.registerOnSharedPreferenceChangeListener(mOnSharedPreferenceChangeListener);
private final SharedPreferences.OnSharedPreferenceChangeListener mOnSharedPreferenceChangeListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
    @Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
        //TODO
    }
}
请注意:
- 只有在添加或更改值时才会触发侦听器,设置相同的值不会调用它;
 - 监听器需要保存在成员变量中,而不是匿名类,因为 
registerOnSharedPreferenceChangeListener使用弱引用存储它,因此它将被垃圾收集; - 它也可以直接由类实现,然后调用 
registerOnSharedPreferenceChangeListener(this);,而不是使用成员变量 - 当使用 
unregisterOnSharedPreferenceChangeListener不再需要时,请记得取消注册该侦听器。