在程序之间共享数据SharedPreferences(一)中,已经介绍了如何通过SharedPreferences实现程序之间的数据共享。但是,在getSharedPreferences的时候,必须用到Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE。还有,一旦这个程序用了这两个,将可被外部程序所访问,且无权限。那么,如果想指定某个程序访问呢?或者有一个这样的需求,一个公司开发了两个程序,然后又想两个程序间共享数据,甚至不止多个程序共享。
通过设置同一个sharedUserId可解决问题。
App1代码如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:sharedUserId="com.app"
package="com.kv.app1">
<application android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<activity android:name=".App1Act1">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.categ