registerOnSharedPreferenceChangeListener不工作在不同的过程中

2019-09-16 13:16发布

这个问题已经在这里有一个答案:

  • SharedPreferences.onSharedPreferenceChangeListener没有一贯要求 8个回答

我已经注册registerOnSharedPreferenceChangeListenerSharedPreferences在我的活动。 当我更改保存在数据SharedPreferences内服务于不同的进程中运行, onSharedPreferenceChanged不叫!

我应该怎么做才能让Android的电话onSharedPreferenceChanged

Answer 1:

最有可能的,它是由GC收集被当作垃圾。 我以前也遇到了这个问题。 做一个全局变量保持硬参考监听器。

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

在回答SharedPreferences.onSharedPreferenceChangeListener没有一贯要求解释它最好



文章来源: registerOnSharedPreferenceChangeListener not working for changes made in different process [duplicate]