可参考:http://blog.csdn.net/mapdigit/article/details/7707665
我的补充:
原理:
公共:使用AIDL定义公共接口,放在客户端和服务端的src文件夹下。
Service:stub实现公共接口,在onBind中返回这个stub的IBinder
Client:定义ServiceConnection,重写onConnect和onDisconnect函数,分别在s和c建立连接和断开连接时调用。
在onConnect函数中,使用AIDL接口名.stub.asInterface(Service返回的IBinder名),将这个IBinder转化成AIDL接口类型。
调用bindService函数时,就会绑定Service,建立连接。
前提:
——在这个demo中,定义了两个AIDL接口,分别是IRemoteService和Isecondary
——客户端和服务端都在RemoteService.java中,服务端是RemoteService extends Service,客户端是Binding extends Activity
步骤: