1为什么使用AIDL
Android系统中IPC是通过Binder机制实现的,Server启动之后注册到ServerManager中,Client需要与Server通信,则请求ServerManger返回Server对应的引用(其实就是一个handle),Client拿到这个handle就可以和Server进行通信,应用层实现进程间通信则必须通过Service组件,而AIDL则是应用层实现进程间通信一个辅助,是为了App Developer 更好的开发IPC应用,是辅助但是不是必须的。
2.不使用AIDL通信的例子
下面实现一个AIDL进行通信例子,具体过程为Client发送一个String给Server,Server加上时间戳返回给Client。
client代码
public void onServiceConnected(ComponentName name, IBinder service) {
Parcel data = Parcel.obtain();
data.writeString("test");
Parcel reply = Parcel.obtain();