博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android笔记:AndroidManifest.xml属性详解(一)之sharedUserId
阅读量:7116 次
发布时间:2019-06-28

本文共 987 字,大约阅读时间需要 3 分钟。

一、sharedUserId

1
android:sharedUserId=
"com.rongqin"

userid的特点:

1. 作为APK身份的标识 

2. userid对应一个Linux用户,所以不同APK(用户)间互相访问数据默认是禁止的.

 

不同APK之间如何通过userid进行数据互访?

在android系统中,apk之间可以相互读取数据的条件是:有同样的签名,并且AndroidManifest.xml文件中配置的android:sharedUserId属性值相同,那么两个apk运行在同一个进程中,可以互相访问任意数据。

通过userid访问其他apk资源的方法:

1.应用程序和插件(比如皮肤)程序的AndroidManifest.xml中配置相同的sharedUserId:

1
2
3
4
5
6
<?xml version=
"1.0" 
encoding=
"utf-8"
?>
<manifest xmlns:android=
"http://schemas.android.com/apk/res/android"
    
package
=
"com.lonshine.skin"
    
android:versionCode=
"1"
    
android:versionName=
"1.0"
    
android:sharedUserId=
"com.rongqin" 
>

2.访问apk中的资源:

1
Context context = createPackageContext(
"com.lonshine.skin"
, Context.CONTEXT_IGNORE_SECURITY);

获取到com.lonshine.skin对应的Context,通过返回的context对象就可以访问到com.lonshine.skin中的任何资源。

例如,应用apk要获得插件apk中的bg.png:

1
Drawable drawable = context.getResources().getDrawable(R.drawable.bg);

这样就得到了图片的引用,其他xml资源文件的获取方式也是类似的。

本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1561239,如需转载请自行联系原作者
你可能感兴趣的文章
dubbo 面试题
查看>>
ArrayList移除元素方法remove
查看>>
★漫画:优秀的程序员具备哪些属性?
查看>>
CentOS7修改主机名+免密码
查看>>
常用常忘
查看>>
ubuntu14.04 python Tkinter
查看>>
OpenCV3.2交叉编译
查看>>
手把手教你把一篇pdf英文文献瞬间翻译成doc格式的中文
查看>>
Javascript保留小数点后指定位数
查看>>
OS X 10.9 Mavericks下如何安装Command Line Tools(命令行工具)
查看>>
Mac安装MongoDB
查看>>
JDBC操作mysql编写及遇到的问题
查看>>
JDBC链接数据库
查看>>
还没理解,有待补充---易变域上的同步
查看>>
解決BufferedReader BufferedWrite 读写UTF-8文件中文乱码
查看>>
Java普通工程转web工程
查看>>
mongodb 修复
查看>>
XML文件的三种解析方式综合举例
查看>>
《环太平洋》视觉特效分解
查看>>
开启两个vsftpd
查看>>