【跨进程】跨进程通信---Activity
来源:互联网 发布:地产网络推广 编辑:程序博客网 时间:2024/04/27 17:38
1、AIDL
2、BroadCast
3、Activity
Acticity的跨进程访问,简单说就是跳转,用到Intent。
注意:跳转不需要指定Context对象和Activity的Class对象。而是指定Action,有的需要Uri。
错误姿势:
Intent Intent = new Intent(this,BActivity.class);startActivity(intent);
正确姿势(打电话):
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:110");startActivity(intent);
同理,程序调用相机,图库,短信,录音等功能,都可以理解为Activity间的跨进程通信。
以上,是自己编写的程序,跨进程访问Android系统程序,下面我们说一下跨进程访问非Android系统程序。
举个栗子:A程序访问B程序。
1.先创建B程序,建立一个新的Activity,暂且叫做OpenActivity,打开清单配置文件manifest,给OpenActivity增加intent-filter:
注意:A程序中,跨进程访问方法Intent intent = new Intent(action,data)
<action/>标签对应参数action
<data/>标签对应参数data。
<activity android:name=".OpenActivity" android:launchMode="singleTop"> <intent-filter> <!--路径匹配 协议://主机名:端口号/路径--> <!--content://com.wgl.share:8080/openApp--> <data android:host="com.wgl.share" android:pathPrefix="/openApp" android:scheme="content" /> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> </intent-filter> </activity>接下来,将B程序安装到手机。
2.再创建A程序,随意写一个点击事件,目的:访问并打开B程序
参数Intent.ACTION_VIEW,对应B程序中<action/>标签
参数Uri.parse("content://com.wgl.share:8080/openApp"),对应B程序中<action/>标签
try { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("content://com.wgl.share:8080/openApp")); startActivity(intent); } catch (Exception e) { //本地没有B程序,请先安装 }安装A程序,触发点击事件,成功访问B程序。
看效果:
2 0
- 【跨进程】跨进程通信---Activity
- Android跨进程通信——Activity
- Android跨进程通信——Activity
- Android中跨进程通信之Activity
- 跨进程调用Activity
- 跨进程启动activity
- Activity跨进程访问
- 跨进程访问activity
- 【跨进程】跨进程通信---AIDL
- C# 跨进程通信
- C# 跨进程通信
- android 跨进程通信
- Android 跨进程通信
- Android跨进程通信
- Android跨进程通信
- Android跨进程通信
- 跨进程通信
- Messenger 跨进程通信
- 51单片机的串口通信
- 判断101-200之间有多少个素数,并输出所有素数
- css3 以当前图片为中心点页面翻转效果
- 图像处理和计算机视觉中的经典论文
- 为啥jdbc问号占位符可以防注入
- 【跨进程】跨进程通信---Activity
- git问题
- ios离屏渲染-详解
- centos 6.5 yum 安装mysql 5.6
- PHP缓存锁原理及利用
- java面试题
- vsphere、ESXi和Cisco Nexus1000v升级流程及注意事项
- 单元测试学习笔记
- 博客网站登记