1.sharedUserId简介
通常,不同的APK会具有不同的userId,因此运行时属于不同的进程中,而不同进程中的资源是不共享的,在保障了程序运行的稳定。然后在有些时候,我们自己开发了多个APK并且需要他们之间互相共享资源,那么就需要通过设置shareUserId来实现这一目的。
通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意数据. 也可以配置成运行成不同的进程, 同时可以访问其他APK的数据目录下的数据库和文件.就像访问本程序的数据一样。同时也能够唤起apk的activity。
2. 实现方法
a. androidmanifest.xml文件中配置
apk A:package name:com.example.jing.switchtoolforylb
apk B:package name:com.example.spark
apk A想要和apkB共享数据,同时能够唤起B的一些页面。
在两个包的manifest文件中均配置:
android:sharedUserId="com.example.jing.switchtoolforylb"
b. 功能实现
Intentintent =newIntent();
intent.setClassName("com.example.spark","com.example.spark.biz.tagsearch.TagChooseActivity");
startActivity(intent);
c. 两个apk添加相同的apk签名
能够共享数据并且同时安装的条件:
***两个应用ShareUserId相同,包名相同或不同,打包时签名文件必须相同***
网友评论