我在sharedUserId下有App A和App B.在App B中,我希望在它们发生变化时获得A的sharedPreferences。现在我可以获得app A的sharedPreferences,但只能重新编译。这可能吗?
这是我在应用B中尝试的一个例子:
// get Context of Shared App
sharedContext = this.createPackageContext("com.app.A",Context.CONTEXT_IGNORE_SECURITY);
// get desired preferences from app A
myPrefs = sharedContext.getSharedPreferences(PREFERENCES,Context.MODE_PRIVATE);
// keeping local copy of this listener
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences myPrefs, String key) {
if (key.equals(PREFERENCES)) {
// Do something
Log.d("Test", "preferences were updated");
}
}
};
// register listener
myPrefs.registerOnSharedPreferenceChangeListener(listener);
答案 0 :(得分:0)
在每个应用的清单中设置android:process
。
同样key.equals(PREFERENCES)
应该是抓取的特定首选项的名称,key.equals("key:example")
而不是共享首选项的名称。