我像这样在我的主活动的onCreate()
中注册了一个偏好更改监听器:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(
new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(
SharedPreferences prefs, String key) {
System.out.println(key);
}
});
问题在于监听器并不总是被调用。它在首次更改首选项时有效,然后在卸载和重新安装应用之前不再被调用。无论重启应用程序多少次都无法解决。
我找到了一个邮件列表线程报告了同样的问题,但没有人真正回答他。我做错了什么?