前言:
今天闲下来翻了下以前的笔记,然后就做了个Demo,简单的使用两个apk来模拟服务端和客户端,用两种方式来绑定远程服务,实现IPC通讯。
实现要点:
1,先看客户端效果:
2,看两个项目的工程结构:
3,看客户端绑定远程服务的关键代码:
//第一种绑定方式
final Intent intentPay = new Intent();
intentPay.setAction("com.xhunmon.remote.PayService");
final Intent eintent = new Intent(createExplicitFromImplicitIntent(this,intentPay));
bindService(eintent,new Conn(), Service.BIND_AUTO_CREATE);
//第二种绑定方式
Intent intentPlayer = new Intent();
intentPlayer.setClassName("com.xhunmon.aidlserver","com.xhunmon.aidlserver.PlayerService");
bindService(intentPlayer,mServiceConnection,Service.BIND_AUTO_CREATE);
第一种绑定的方式action要与服务端的一样,而第二种则设置setClassName(服务端包名,服务端服务的全路径),清单文件中代码如下:
<service android:name=".PayService">
<intent-filter>
<action android:name="com.xhunmon.remote.PayService"/>
</intent-filter>
</service>
<service
android:name=".PlayerService"
android:process=":PlayerService"
android:enabled="true"
android:exported="true">
</service>
[1] GitHub项目地址:https://github.com/xhunmon/AidlPay.git