android - SharedPreferences 是否可以在不同的 Android 应用程序之间共享?

标签 android preferences

正如我在 getSharedPreferences(String, int) 的 API 描述中检查的那样,第二个属性定义了可访问性模式,并且可以采用 0 或 MODE_PRIVATE 作为默认操作,MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 来控制权限。

但是在API描述中有这么一条小提示:

Note: currently this class (android.content.SharedPreferences) does not support use across multiple processes. This will be added later.

此外,在 Mark L. Murphy 的书“beginning Android 2”中,他提到:

(Eventually, preferences might be shareable across applications, but that is not supported as of the time of this writing)

我很困惑!这是否意味着 getSharedPrefrences 的 MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 存在但在最新的 API 级别中尚未得到支持???

谢谢! 米根

最佳答案

我的引用书目就是基于该评论。

此外,使任何文件MODE_WORLD_READABLE 或(更糟)MODE_WORLD_WRITEABLE 不是一个好主意。你失去了任何安全的希望。

如果您希望在两个应用程序之间共享数据,有无数种解决方案,例如:

  • 使用 AIDL 公开的 API 服务
  • 通过 startService() 发送的命令和通过 MessengercreatePendingResult() 发送的响应公开 API 的服务 PendingIntent 什么的
  • 内容提供者
  • 广播 Intent

所有这些都允许您定义集成权限并让您控制访问的粒度。

关于android - SharedPreferences 是否可以在不同的 Android 应用程序之间共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4787785/

相关文章:

android - Android Studio。错误:(19,0)

android - 无法导入 ActivityChooserModel

android - 如何制作可滚动的 TableLayout?

firefox - 在 Firefox 插件中使用 simple-prefs 模块

android - 如何在不按后退按钮的情况下从嵌套的 PreferenceScreen 返回到上一个 PrefenenceScreen

android - 在 Android WebViews 上调试缓慢的点击响应?

java - 客户端监听服务器消息

android - 从(子)PreferenceScreen 返回时更新 PreferenceActivity 中现有的 Preference-item

Android:首选项更改后重新启动或刷新动态壁纸

java - 首选 Windows Java 开发环境