绑定远程服务的流程aidl

来源:互联网 发布:室内设计师 知乎 编辑:程序博客网 时间:2024/05/25 05:38

--------绑定远程服务的流程aidl--------

1.在Activity调用bindService()去绑定服务。

bindService(intent, new MyConn(), BIND_AUTO_CREATE);

需要传递一个叫ServiceConntion的接口参数

用来返回两个回调,当服务被成功绑定,

当服务失去连接。


2在服务里面,需要重写onBind() 在服务被绑定的时候,

调用返回一个IBinder接口 对象(代理人)。接口定义需要改成aidl

用自动生成的IService.stub代理人 必须要实现一个方法,这个方法可以调用到服务的方法。

3.在Activity的onServiceConnected得到中间人,使用aidl自动生成IService利用IService.Stub.asInterface();

4.调用中间人的方法;

5.中间人调用服务的方法。

0 0