首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有MODE_PRIVATE、MODE_WORLD_READABLE、MODE_WORLD_WRITABLE的安卓SharedPreferences

带有MODE_PRIVATE、MODE_WORLD_READABLE、MODE_WORLD_WRITABLE的安卓SharedPreferences
EN

Stack Overflow用户
提问于 2012-10-31 15:33:27
回答 4查看 63.8K关注 0票数 43

Android中的SharedPreferences是应用程序本地的,不能在不同的应用程序之间共享。当我说

代码语言:javascript
复制
SharedPreferences preferences = getSharedPreferences(PREF_NAME, MODE_WORLD_READABLE);

将此首选项设置为MODE_WORLD_READABLEMODE_WORLD_WRITABLEMODE_PRIVATE有什么意义

EN

回答 4

Stack Overflow用户

发布于 2012-10-31 15:37:13

here解释了getSharedPreferences(String name, int mode)

代码语言:javascript
复制
MODE_PRIVATE: File creation mode: the default mode, where the created file can only be accessed by the calling application (or all applications sharing the same user ID).

MODE_WORLD_READABLE: File creation mode: allow all other applications to have read access to the created file.

MODE_WORLD_WRITEABLE : File creation mode: allow all other applications to have write access to the created file.

更多信息here

编辑从API 17开始,不推荐使用MODE_WORLD_READABLEMODE_WORLD_WRITEABLE

此常量在API17级中已弃用。

创建完全可读的文件是非常危险的,并且可能会导致应用程序中的安全漏洞。强烈建议您这样做;相反,应用程序应该使用更正式的交互机制,如ContentProviderBroadcastReceiverService。不能保证此访问模式将保留在文件上,例如在执行备份和还原时。

票数 50
EN

Stack Overflow用户

发布于 2012-10-31 15:49:51

首选项存储在文件系统中。该模式定义了谁有权访问您的应用程序的首选项。

简而言之:

  • MODE_PRIVATE是首选项的操作模式。这是默认模式,意味着只有调用application.
  • In MODE_WORLD_READABLE的其他应用程序才能访问创建的文件,其他应用程序可以读取创建的文件,但不能对其进行修改。
  • 如果是MODE_WORLD_WRITEABLE,则其他应用程序也具有对创建的文件的写入权限。

推荐的方式是使用默认模式,而不指定文件名

代码语言:javascript
复制
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
票数 16
EN

Stack Overflow用户

发布于 2012-10-31 17:03:45

共享首选项也保存在文件系统的文件中。这些模式定义了其他应用程序是否有权读取文件中的分片首选项。

MODE_PRIVATE意味着只有创建共享首选项的应用程序才能读写首选项

MODE_WORLD_READABLE意味着其他应用程序也可以使用共享首选项API读取这些首选项,但不能写入该首选项文件中的值

MODE_WORLD_WRITEABLE意味着其他应用程序也可以使用共享首选项API对首选项文件进行读写

下面的链接也有一些很好的解释和代码示例来解释这些模式:

http://thedevelopersinfo.com/2009/11/25/getting-sharedpreferences-from-other-application-in-android/

http://chrisrisner.com/Accessing-the-Shared-Preferences-of-a-Different-Application-in-Android

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13153231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档