【问题标题】:Howto read updated shared preferences between applications?如何读取应用程序之间更新的共享首选项?
【发布时间】:2025-12-28 05:50:10
【问题描述】:

我遇到了一个与以下内容非常相似的问题,但又有所不同。

Howto read updated shared preferences?

我有两个应用程序,A.apk 有很多 sharedPreferences 需要从 B.apk 中获取。我完全可以毫无问题地从 B 中读取它。但是,当A的偏好发生变化时,再返回B.apk(onResume)。现在从 A 获取的首选项没有更新。我必须强制关闭 B.apk 并重新启动它以读取更新的首选项。

我也尝试在离开 A 时使用 finish(),但是,它不起作用。有什么建议吗?

【问题讨论】:

  • 您是否尝试过在更新偏好时使用editor.Apply(); 而不是editor.Commit();? (editor 是您的 PreferenceManager)
  • 你是每次都在B的onResume()方法中调用getSharedPreferences(...)还是在B中持有SharedPreferences并重复使用??
  • 嗨,Squonk。是的,我每次都称它为 onResume of B。

标签: android


【解决方案1】:

您可以在 B.apk 中拥有 ContentProvider,并在 A.apk 中读取/更新首选项。

【讨论】:

    最近更新 更多