Android之两个应用之间的通信与调用
来源:互联网 发布:php登录简单页面代码 编辑:程序博客网 时间:2024/05/22 06:22
Android 里面的两个APK通信的方式有哪些?
自己网上查了查,总结了一下:
1. 广播,最简单的方法,这个实现起来比较简单
2. AIDL,功能强大,支持一对多并发通信,支持实时通信。
3. 网上一个人写的:
思路
通过apk1调用apk2的services,
在onServiceConnected的时候返回apk2中的自定义IBinder对象,
通过反射调用apk2中自定义IBinder对象中的方法getView(Handler handler),把apk1中的handler对象传入apk2中
可把apk2中的view对象通过handler.obtainMessage(1, view).sendToTarget();返回到apk1中
这样子apk1就能调用apk2中view对象了
附上下载包:源码包
4.和第三种类似,有一个可以获取另一个APK的context的方法,createPackageContext(String, int),获取到context方法之后就可以调用另一个apk的方法了,但是要保证另一个apk是安装过的,具体是使用sharedUserId来解决的
参考资料:http://www.cnblogs.com/mythou/p/3258715.html
5.如果另一个apk没有被安装过呢?
4和5两种方式,可以参考网上的两片大牛的博文
点我
6.文件共享,简单易用,适用于不是高并发并且不需要实时性的进程间实时通信
7.Messenger,功能一般,支持一对多串行通信,支持实时通信,缺点是不能很好处理高并发情形,不支持RPC,数据通过Message进行传输,因此只能传输Bundle支持的数据类型。适用场景是低并发的一对多即时通信,无RPC需求,或者无须要返回结果的RPC需求。
8.ContentProvider,优点是在数据源处理方面功能强大,支持一对多并发数据共享,可通过call方法扩展其他操作,适用与一对多的进程间数据共享。
9.Socket,功能强大,可以通过网络传输字节流,支持一对多并发实时通信,适用于网络数据传输
- Android之两个应用之间的通信与调用
- android 两个应用之间的通信与调用
- android 两个应用之间的通信与调用
- 【Android 应用开发】Activity生命周期 与 Activity 之间的通信
- Android应用开发教程:两个运行的Activity之间的通信
- Android进程间通信:两个应用之间如何传值
- H5与Activity之间的通信(调用)
- 两个Android工程之间的调用
- Android Telephony系统 之 DataConnectionTracker与MobileDataStateTracker之间的通信
- Android Telephony系统 之 DataConnectionTracker与MobileDataStateTracker之间的通信
- Android学习之碎片与活动之间的通信
- Android Telephony系统 之 DataConnectionTracker与MobileDataStateTracker之间的通信
- Android学习之碎片与活动之间的通信
- Android 两个activity之间通信
- Android基础教程之----SMS简单发送短信程序(两个模拟器之间的通信)!
- Android基础教程之----SMS简单发送短信程序(两个模拟器之间的通信)!
- Android基础教程之----SMS简单发送短信程序(两个模拟器之间的通信)!
- Android基础教程之----SMS简单发送短信程序(两个模拟器之间的通信)!
- Java基础_解决问题1,随机数问题
- 使用jQuery对List排序
- android流量测试的指导方法
- react开发环境搭建
- iOS开发 - 第04篇 - 网络 - 03 - 数据安全 & 文件下载
- Android之两个应用之间的通信与调用
- byte[]数组作为map的key的问题
- SQL Server存储过程
- [Headset]MT6589中常用宏开关的作用
- 基于 flask 框架的模拟instagram 图片分享网站的开发 5(发布网站v1.0版本)
- Yii2之activeform部分随笔
- android 根据证书生成对应的签名文件
- iOS 发送的位置能调用本机地图导航资料整理
- hbase-site.xml 和 hbase-default.xml