Я реєструю прослуховувача зміни на зразок (наприклад, в onCreate()
основному):
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(
new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(
SharedPreferences prefs, String key) {
System.out.println(key);
}
});
Біда в тому, що слухача не завжди викликають. Він працює перший раз, коли налаштування змінюються, а потім його більше не викликають, поки я не видалюю та перевстановлюю додаток. Здається, жодна кількість перезапуску програми не виправить це.
Я знайшов нитку списку розсилки, яка повідомила про ту саму проблему, але ніхто насправді не відповів на нього. Що я роблю неправильно?