bindService的一些笔记

来源:互联网 发布:painter中文版 mac 编辑:程序博客网 时间:2024/06/03 12:29

绑定本地服务的流程

1.在activity中调用bindService(),去绑定服务

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

需要传递一个叫ServiceConnection的接口参数,用来返回连个毁掉

当服务被成功绑定

当服务失去连接


2.在service里面需要重新onBind()方法,在服务被绑定的时候会被调用,返回一个IBinder接口对象(代理人)

代理人必须要实现一个方法,这个方法可以调用到服务的方法


3.在activity的onServiceConnected()得到代理人


4.调用代理人的方法


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


绑定远程服务的流程

1.在activity中调用bindService(),去绑定服务

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

需要传递一个叫ServiceConnection的接口参数,用来返回连个毁掉

当服务被成功绑定

当服务失去连接


2.在service里面需要重新onBind()方法,在服务被绑定的时候会被调用,返回一个IBinder接口对象(代理人)

接口定义要用aidl,用自动生成的IService.Stub

代理人必须要实现一个方法,这个方法可以调用到服务的方法


3.在activity的onServiceConnected()得到代理人

使用IService.Stub.asInterface()


4.调用代理人的方法


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


0 0
原创粉丝点击