7

我在我的活动中注册registerOnSharedPreferenceChangeListener了我的。SharedPreferences当我更改SharedPreferences在不同进程中运行的内部服务保存的数据时,onSharedPreferenceChanged不会调用!

我应该怎么做才能拨打android电话onSharedPreferenceChanged

4

1 回答 1

23

最有可能的是 gc 正在收集垃圾。我以前遇到过这个问题。创建一个全局变量,保持对侦听器的硬引用。

  OnSharedPreferenceChangeListener listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
      public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
        // Implementation
      }
    };

SharedPreferences.onSharedPreferenceChangeListener的答案没有被一致地解释最好

于 2012-04-14T04:21:44.560 回答