sharedUserId
用于不同app之间数据共享。 不同App之间数据共享主要有如下方式:
- SharedPreferences&ContentProvider
- 不同App指定相同sharedUserId,分配相同的Linux UserId,使其可以数据共享。
UserId的特点:
- 作为APK身份的标识
- UserId对应一个Linux用户,所以不同APK(用户)间互相访问数据默认是禁止的
如果想要不同的APK之间共享数据需要满足以下条件: 1.APK的签名必须相同 2.android:sharedUserId的值必须相同 3.如果想要运行在相同进程中,必须设置android:process的值相同。
通过如下方式获取其他app的Context对象
Content content = this.createPackageContent(“com.example.demo”,Content.CONTENT_IGNORE_SECURITY);
sharedUserLabel
这个属性给共享的UserId定义了一个用户可读的标签。这个标签必须用字符串资源来设置,不能使用原生的字符串。 这个属性在API Level 3中被引入,只有在sharedUserId属性被设置,这个属性才有意义。