如果我有这样的需求,比如QQ和QQ音乐都是腾讯出品的产品,此时我已经登录QQ,那么再登录QQ音乐的时候必然是不会再次出现登录界面的,因为此时的数据已经共享了,QQ音乐可以获得QQ的数据,所以检测到的时候,就不会再起登录了。
在Android中是如何实现的?
首先在我们的AndroidMainifest中,第一级是mainifest,第二级是application,第三级是service,activity,contentprovider,braoadcastreceiver注册信息。
在第一级中有一个 Shared User id
只要不同的应用程序的 Shared User id 设为一样的,那么就可以使用不同的应用程序的数据共享。
可以互相访问任意数据. 也可以配置成运行成不同的进程, 同时可以访问其他APK的数据目录下的数据库和文件.就像访问本程序的数据一样。
其实大致可以理解为,拥有同样的userid,相当于或得到最高权限,可以任意访问。
//A程序
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yupeibiao.mainifest"
//不同app设置同样的id共享数据
android:sharedUserId="com.yupeibiao.comeon">
//B程序
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.linmeini.mainifest"
//不同app设置同样的id共享数据
android:sharedUserId="com.yupeibiao.comeon">