Service与Activity之间的通信,就是这两个对象之间的数据交互
- Activity将数据传到Service中,通过Intent进行传参
- Service将数据传到Activity中,就得需要绑定
简单的用语言描述:就是Activity向指定的Service发出绑定请求;Service接收到请求,并进行了绑定,然后将成功绑定的信息返回给Activity;Activity接收成功绑定的信息。
这里主要说一下绑定的步骤:
(1)在Activity中向Service发起绑定
第一步:创建一个Intent对象
第二步:在本类中调用bindService方法发起绑定,方法中传入
三个参数.第一个参数是Intent对象;第二个参数是一个ServiConnection对象,需要在声明并进行实例化
覆写两个方法:
红线标注的方法:表示成功绑定后执行的方法,第二个参数,也就是IBinder类型的service,表示成功绑定的Service对象。也就是说,这个对象是成功绑定的Service对象回传回来的。
紫线标注的方法:表示解除绑定时执行的方法。什么时候会解除绑定呢?也就是Activity被系统杀死后,自动解绑。
(2)Service接收到请求,并进行了绑定,然后将成功绑定的信息返回给Activity。
如图