SharedPreferences 可以在不同的 Android 应用程序之间共享吗?

发布于 2024-12-12 18:12:36 字数 545 浏览 0 评论 0原文

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

但 API 描述中有一个小注释:

注意:目前这个类 (android.content.SharedPreferences) 不支持跨多个使用 流程。这将在稍后添加。

此外,Mark L. Murphy 在《beginning Android 2》一书中提到:

(最终,偏好可能是 可跨应用程序共享,但是 目前还不支持 撰写本文)

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

谢谢! 米甘

As I checked in APIs description for getSharedPreferences(String, int),Second attribute is defining accessibility mode and can take 0 or MODE_PRIVATE for the default operation, MODE_WORLD_READABLE and MODE_WORLD_WRITEABLE to control permissions.

But there is this small note in API description:

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

Moreover in Mark L. Murphy book "beginning Android 2" he mentioned:

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

Im so confused! does this mean that MODE_WORLD_READABLE and MODE_WORLD_WRITEABLE of getSharedPrefrences is there but NOT SUPPORTED YET in latest API level???

Thanks!
Migan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鹤舞 2024-12-19 18:12:36

我的书参考就是基于该评论。

此外,制作任何文件 MODE_WORLD_READABLE 或(更糟糕)MODE_WORLD_WRITEABLE 都是一个坏主意。你失去了任何安全的希望。

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

  • 具有由 AIDL 服务公开的 API 的服务
  • ,以及通过 startService() 发送的命令公开的 API 和通过MessengercreatePendingResult() PendingIntent
  • 内容提供商
  • 广播 Intents

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

My book reference is based upon that comment.

Moreover, making any file MODE_WORLD_READABLE or (worse) MODE_WORLD_WRITEABLE is a bad idea. You lose any hope of security.

If you wish to share data between two applications, there are a myriad of solutions, such as:

  • service with an API exposed by AIDL
  • service with an API exposed via commands sent via startService() and responses sent via a Messenger or createPendingResult() PendingIntent or something
  • content provider
  • broadcast Intents

All of those allow you to define permissions for integration and let you control the granularity of access.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文