1.通过content Provider/sharedPreferrence
2.通过shareUserId
我们详细介绍一下shareUserId:
Android App Sandbox(android沙箱机制)
我们知道 Linux 中的 Sandbox 主要做隔离工作,将不同任务或用户间的耦合降到最低。Android 应用也借用了 Linux Sandbox技术,将不同 APP 之间做了隔离;APP 之间的隔离主要是资源隔离和权限访问隔离。
每个 Android APP 都运行在他们自己的 Linux 线程中(UID不同),每个应用程序彼此独立,默认情况下无法访问其他应用程序资源。 APP 权限机制为应用程序之间的资源互访提供了可行性,APP必须申请到权限并经过用户授权后才能访问 Android 系统 API 或 其他阴功程序的服务。
如果两个 Android App 运行在同一个进程里(此时的 UID 是相同的),可以共享数据和代码。
如何让两个 APP 运行在同一个进程里?
- 首先,两个 APP 要用相同的 private key 来签名
- 然后,添加两个APP manifest.xml 文件中属性 android:sharedUserId,均设置为相同的值或名字(其实是设置成相同的UID)。
利用ShareUserID共享数据
try {
Context ct=this.createPackageContext ("com.mythou.serviceID", Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences sp = ct.getSharedPreferences("appInfo", MODE_PRIVATE);
String str2 = sp.getString("appname", "service");
Log.d("mythou", "share preference-->" + str2);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
关键代码:
Context ct=this.createPackageContext("com.mythou.serviceID", Context.CONTEXT_IGNORE_SECURITY);
Android Permission 机制
Permissions 机制限制应用访问特定的资源,如照相机、网络、外部存储、查看通话记录以及某些API。
APP 可以自己定义 Permission 来限制别的APP访问自己的资源。别的应用想访问此 APP 的资源,必须在自己的 AndroidManifest.xml 中添加此 Permission。自定义权限也是在 AndroidManifest.xml 通过 标签定义。
自定义一个 Permission,至少需要的元素是 name, description, label 和 protectionLevel。
我们最关心的选项是 protectionLevel
normal,默认值。系统自动授予此 Permission,在 APP 安装的时候能看到申请此 Permission。
signature,具有相同的 Signature的 APP,才能申请此 Permission,否则,系统拒绝。
dangerous,一般来说系统不会自动授予此 Permission,因为此 Permission 会有潜在的威胁;一般来说在使用 APP 的过程中,需要用到此权限,会弹出窗口,让用户来授权。
转载于:https://my.oschina.net/fengsehng/blog/784425
分享到:
相关推荐
VLC-Android APK支持AVS和DRA解码,VLC-Android-3.0.11-ARMv7_avs+dra.apk,VLC-Android-3.0.11-ARMv8_avs+dra.apk。手机装ARMv7就行,X86构架的CPU不支持。
appium-uiautomator2-server-debug-androidTest.apkappium-uiautomator2-server-debug-androidTest.apk
zisync-android-2.1.1.apk
宝利通rpm-android-phone-release-3.7-64806移动应用程序是一个易于使用的视频系统,提供优质的音频和视频体验。与专有应用程序不同,RealPresence移动应用程序是基于标准的,可扩展您组织的视频网络,使您在任何...
OpenCV-3.1.0-android-sdk 此压缩包只有apk
华为 secoclient 客户端 7.0.5.1 for android
米赚 mizhuan android apk 下载测试。 支持安卓版本 2.2 起。 移动手机端运行,经过测试适配大多数android机型。
安卓用secoclient
jitsi-android-debug.apk 可以安装,但启动异常,很久进不了界面;安装时注意,若提示内存不足,需卸载释放出一些内存。 jitsi-android-debug-unaligned.apk 可以进界面,没有拔号键盘,只能接听。
okx-android-2.apk
vlc-for-android-3-2-9.apk
Postern-3.1.2 apk.zip
gamecenter-release-android-yimu-5110-0c6a89a5c6e8e.apk
gamecenter-release-android-lingpao-5576-3072859cba4b684bc14b908aeca70c1c.apk
微信官方的下载链接失效了。可以用这个下载。
tor-browser-11.0.8-android-armv7-multi.apk
OpenCV-2.4.11-android-sdk 此压缩包只有apk
VLC-Android.apk
Android APK Parsing Lib Simple class to read/parse the packageName, versionName, versionCode information, and more out of a compiled Android APK file. This is accomplished by decompressing the ...