http://developer.android.com/intl/zh-cn/reference/android/content/SharedPreferences.html
Note: currently this class does not support use across multiple processes. This will be added later.
首先,根据文档,SharedPreferences是不支持app间共享数据的目前。你可以考虑使用contentProvider

解决方案 »

  1.   


    您好,确实文档中有那句话,不过确实android开发手册上面也有可以使用SharedPreferences多进程分享数据的,
    刚刚实验了一下,成功了,因为我必须要获取第一个app的context才行。第二个地方操作第一个app的context的getSharedPreference()方法才可以获取到。
    另一份官方文档如下,上面描写了如何多进程(app)通信。这个是怎么回事???两份官方文档有冲突,还是后来加入了这个新特性?
    http://developer.android.com/training/basics/data-storage/shared-preferences.html
      

  2.   


    您好,确实文档中有那句话,不过确实android开发手册上面也有可以使用SharedPreferences多进程分享数据的,
    刚刚实验了一下,成功了,因为我必须要获取第一个app的context才行。第二个地方操作第一个app的context的getSharedPreference()方法才可以获取到。
    另一份官方文档如下,上面描写了如何多进程(app)通信。这个是怎么回事???两份官方文档有冲突,还是后来加入了这个新特性?
    http://developer.android.com/training/basics/data-storage/shared-preferences.html我很好奇,你怎么得到另一个app的context的?方便说一下吗
      

  3.   


    您好,确实文档中有那句话,不过确实android开发手册上面也有可以使用SharedPreferences多进程分享数据的,
    刚刚实验了一下,成功了,因为我必须要获取第一个app的context才行。第二个地方操作第一个app的context的getSharedPreference()方法才可以获取到。
    另一份官方文档如下,上面描写了如何多进程(app)通信。这个是怎么回事???两份官方文档有冲突,还是后来加入了这个新特性?
    http://developer.android.com/training/basics/data-storage/shared-preferences.html我很好奇,你怎么得到另一个app的context的?方便说一下吗
    createPackageContext(packageName, flags)
      

  4.   

       /**
        * MODE_PRIVATE 当前应用
        * MODE_MULTI_PROCESS 多进程
        * MODE_WORLD_READABLE 多进程可读,不可写
        * MODE_WORLD_WRITEABLE 多进程,可读可写
        * 
        */
    spf = getSharedPreferences("login_test", MODE_WORLD_READABLE);
          //如果需要跨进程调用,需要直接指定哪一个工程,并且传入忽略安全的参数
    try {
    Context data = createPackageContext("com.lizhi.servicetest", CONTEXT_IGNORE_SECURITY);
    //       data.getSharedPreferences(name, mode)

    } catch (NameNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
      

  5.   

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android   /*main.xml文件
    将布局框架指定为LinearLayout线性布局*/
    android:layout_width="fill_parent"   /*利用android:layout_width修改屏幕宽度*/
    android:layout_height="fill_parent"   /*利用android:layout_width修改屏幕高度*/
    android:orientation="horizontal">   /*利用android:orientation设置屏幕方向*/
      

  6.   

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android   /*main.xml文件
    将布局框架指定为LinearLayout线性布局*/
    android:layout_width="fill_parent"   /*利用android:layout_width修改屏幕宽度*/
    android:layout_height="fill_parent"   /*利用android:layout_width修改屏幕高度*/
    android:orientation="horizontal">   /*利用android:orientation设置屏幕方向*/
      

  7.   

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android   /*main.xml文件
    将布局框架指定为LinearLayout线性布局*/
    android:layout_width="fill_parent"   /*利用android:layout_width修改屏幕宽度*/
    android:layout_height="fill_parent"   /*利用android:layout_width修改屏幕高度*/
    android:orientation="horizontal">   /*利用android:orientation设置屏幕方向*/
      

  8.   

    不过这是不安全的方式呀,google也在Context.MODE_WORLD_WRITEABLE的注释里写明了,推荐用ContentProvider、BroadcastReceiver或者Service来实现数据的交互么