SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.OnSharedPreferenceChangeListener listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key == " /*the key I want*/ ") {
//do stuff here
}
};
prefs.registerOnSharedPreferenceChangeListener(listener);
Also, I learned that preferences all get automatically saved to a default SharedPreferences file which you access through getDefaultSharedPreferences(). Does that happen when app is first run or does it wait until a user interacts with a preference?