一、适用场景:client进程必须是Activity,服务端进程必须是Service
二、基于:Activity跟Service绑定
三、问题:在Activity中可以得到的Binder对象,但是无法获得具体类型
四、使用步骤:
(一)Service中创建Binder对象
(二)创建aidl文件(接近interface)
1. 在服务端创建一个interface,方法为MyBinder中的方法
2. 把接口文件扩展名修改为“aidl”,并删除interface之前的public修饰符
3. 将aidl文件拷贝到客户端同样包名中
4. 在服务端将MyBinder继承的Binder修改为aidl文件名.Stub
5. 在客户端的onServiceConected()方法中
通过IMyBinder binder = IMyBinder.Stub.asInterface(service);
得到binder
服务端service:
客户端Activity: