绑定本地服务的流程
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.中间人调用服务的方法
本文详细介绍了在Android中绑定本地及远程服务的具体步骤。包括在Activity中通过bindService()方法绑定服务,实现ServiceConnection接口处理连接状态变化,在Service中重写onBind()方法返回IBinder实例,以及如何通过得到的代理对象调用服务提供的方法。
1545

被折叠的 条评论
为什么被折叠?



