【问题标题】:Can Shared Preferences be private?共享首选项可以是私人的吗?
【发布时间】:2011-08-21 05:54:16
【问题描述】:

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

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

如果这是正确的,我是否可以修改此默认行为以使首选项仅在我定义和创建它的应用程序中可见?

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

【问题讨论】:

    标签: android sharedpreferences


    【解决方案1】:

    SharedPreferences 默认是私有的。它们在您应用的组件之间共享。

    【讨论】:

      【解决方案2】:

      如果我是正确的,您可以通过调用将其存储为私有

      getSharedPreferences(yourfile, MODE_PRIVATE);
      
      
      public static final int MODE_PRIVATE 
      

      自:API 级别 1 文件创建模式:默认模式,创建的文件只能被调用应用程序(或所有共享相同用户ID的应用程序)访问。

      另见:

      MODE_WORLD_READABLE
      MODE_WORLD_WRITEABLE 
      Constant Value: 0 (0x00000000) 
      

      【讨论】:

        【解决方案3】:

        Context 类中的 getSharedPreferences 有两个参数,String 名称和 int 模式。模式确定共享首选项是否是私有的。 Context.getSharedPreferences

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-08-14
          • 1970-01-01
          • 1970-01-01
          • 2012-09-08
          • 1970-01-01
          • 1970-01-01
          • 2012-03-20
          • 1970-01-01
          相关资源
          最近更新 更多