共享偏好可以是私密的吗?

时间:2011-05-08 19:25:43

标签: android sharedpreferences

仅从名称来看,我猜测Shared Preferences是...在应用程序之间共享? 也就是说,即使我的应用程序定义并创建它们,Android上的任何应用程序都可以访问它们。这是对的吗?

(如果这不正确,那么为什么数据存储开发指南会将Internal Storage强调为“存储私人数据”?)

如果这是正确的,我可以修改此默认行为,以便只能从我定义和创建它的应用程序中看到首选项吗?

如果是这样,我该怎么做?

3 个答案:

答案 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