仅从名称来看,我猜测Shared Preferences是...在应用程序之间共享? 也就是说,即使我的应用程序定义并创建它们,Android上的任何应用程序都可以访问它们。这是对的吗?
(如果这不正确,那么为什么数据存储开发指南会将Internal Storage强调为“存储私人数据”?)
如果这是正确的,我可以修改此默认行为,以便只能从我定义和创建它的应用程序中看到首选项吗?
如果是这样,我该怎么做?
答案 0 :(得分:27)
SharedPreferences
是私有的。它们在您的应用程序的组件之间共享。
答案 1 :(得分:24)
如果我是正确的,你可以通过调用
将其存储为私人getSharedPreferences(yourfile, MODE_PRIVATE);
public static final int MODE_PRIVATE
自:API级别1 文件创建模式:默认模式,其中创建的文件只能由调用应用程序(或共享相同用户ID的所有应用程序)访问。
另见:
MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE
Constant Value: 0 (0x00000000)
答案 2 :(得分:9)
Context类中的getSharedPreferences有两个参数,String name和int mode。模式确定共享首选项是否为私有。 Context.getSharedPreferences