解决方案 »

  1.   


    .... 如果你想改变xml文件内容  你必须解析xml 读写的方式改变啊~    otherEditor.commit();方法只能改变当前缓存中的数据值  不能直接改变xml中的内容的
      

  2.   

    还有为什么在同一个应用里面就不应解析xml文件?对此很不明白。谢谢!
      

  3.   

    原来也遇到过这个问题 后来改用contentprovider了,期待解决。
      

  4.   

    otherAppsContext = MainActivity.this.createPackageContext("a的包", Context.CONTEXT_IGNORE_SECURITY);
    SharedPreferences otherSharedPreferences = otherAppsContext.getSharedPreferences("bbb",Context.MODE_WORLD_WRITEABLE);写在B里面吧
      

  5.   

    不懂你说的,我就是要把各个模块如日历/信息的铃声设置,移到setting里面。所以要这样。A是setting。b是其他模块。
      

  6.   


    如果是这样的话,你设置修改了Setiings中铃声  则发送一个广播去通知相应的应用去改变  反之  一样
      

  7.   

    楼上的方法就可以的,进程间的通信以前用过aidl,后来发现逻辑上有问题,就又用广播了
      

  8.   

    请问com.android.settings_preferences.xml这个setting模块的文件是在那里创建的。找了很久没找到。
      

  9.   

    异步通信使用SharePreference.Edit().apply()
      

  10.   

    过去这么久了 不晓得楼主解决没,这哥们说的是对的,但是你必须要反射才能够调用这个方法:
    Class clz = SharedPreferences.Editor.class;
     clz.getMethod("apply").invoke(editor);
    仅供参考