android应用程序之间怎么通信
android应用程序之间如何通信
这里有A、B两个android应用,我想在A应用中启动B应用,就是说我在A应用中设置一个按钮,我点击之后,系统运行B应用,这两个进程之间,该如何通信,又该怎样实现呢???求指点
------解决方案--------------------
由A应用启动B,可以发Intent,调用startActivity(Intent),Intent指定相应的action即可。
应用之间通信最简单的方式就是广播,sendBroadcast,都注册好指定的action广播。
还有就是IPC,用到binder或者aidl,具体楼主可以去搜索相关例子代码,网上很多。
------解决方案--------------------
Android里面的 AIDL进程通信 是通过底层的binder driver来实现的,比较复杂。
------解决方案--------------------
通过AIDL实现。
在启动应用B的时候bind绑定应用A的服务,然后调用应用A的AIDL开放的函数
------解决方案--------------------
通过android:sharedUserId将两个应用运行在同一进程空间,就样就可以了
------解决方案--------------------
如果只是应用A启动应用B的话,直接intent就可以了。
ComponentName cp=new ComponentName(B.packagename,B.classname);
intent.setComponent(cp);
startActivity(intent);
这里有A、B两个android应用,我想在A应用中启动B应用,就是说我在A应用中设置一个按钮,我点击之后,系统运行B应用,这两个进程之间,该如何通信,又该怎样实现呢???求指点
------解决方案--------------------
由A应用启动B,可以发Intent,调用startActivity(Intent),Intent指定相应的action即可。
应用之间通信最简单的方式就是广播,sendBroadcast,都注册好指定的action广播。
还有就是IPC,用到binder或者aidl,具体楼主可以去搜索相关例子代码,网上很多。
------解决方案--------------------
Android里面的 AIDL进程通信 是通过底层的binder driver来实现的,比较复杂。
------解决方案--------------------
通过AIDL实现。
在启动应用B的时候bind绑定应用A的服务,然后调用应用A的AIDL开放的函数
------解决方案--------------------
通过android:sharedUserId将两个应用运行在同一进程空间,就样就可以了
------解决方案--------------------
如果只是应用A启动应用B的话,直接intent就可以了。
ComponentName cp=new ComponentName(B.packagename,B.classname);
intent.setComponent(cp);
startActivity(intent);