SharedPreferences 可以在不同的 Android 应用程序之间共享吗?
正如我在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的书参考就是基于该评论。
此外,制作任何文件
MODE_WORLD_READABLE
或(更糟糕)MODE_WORLD_WRITEABLE
都是一个坏主意。你失去了任何安全的希望。如果您希望在两个应用程序之间共享数据,有多种解决方案,例如:
startService()
发送的命令公开的 API 和通过Messenger
或createPendingResult()
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:
startService()
and responses sent via aMessenger
orcreatePendingResult()
PendingIntent
or somethingIntents
All of those allow you to define permissions for integration and let you control the granularity of access.