registerOnShared preferenceChangeListener不工作在不同的过程中所做的更改 [英] registerOnSharedPreferenceChangeListener not working for changes made in different process
问题描述
我已经注册 registerOnShared preferenceChangeListener
我的共享preferences
在我的活动。当我更改保存数据共享preferences
里面不同的进程中运行的服务, onShared preferenceChanged
不叫!
I have registered registerOnSharedPreferenceChangeListener
with my SharedPreferences
in my Activity. When I change the data saved with SharedPreferences
inside service running in different process, onSharedPreferenceChanged
is not called!
我应该怎么做才能让Android电话 onShared preferenceChanged
What should I do to make android call onSharedPreferenceChanged
?
推荐答案
最有可能的,它是由GC垃圾回收。我以前也遇到了这个问题。做一个全局变量,这使硬参考监听器。
Most likely, it is being garbage collected by gc. I have faced this problem before. Make a global variable which keeps a hard reference to the listener.
OnSharedPreferenceChangeListener listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
// Implementation
}
};
在<一个答案href=\"http://stackoverflow.com/questions/2542938/shared$p$pferences-onshared$p$pferencechangelistener-not-being-called-consistently/3104265#3104265\">Shared$p$pferences.onShared$p$pferenceChangeListener不会被调用一贯该最能解释
这篇关于registerOnShared preferenceChangeListener不工作在不同的过程中所做的更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!