activity与service通信之bindService

首先两者通信是通过代理模式进行处理的,细化之后如下

处理流程如下  通过Binder方法第二个对象ServiceConnection

中的onServiceConnected方法中的参数IBinder获取service对象 之后再activity操作的时候通过service对象调用里面的方法,结束时通过在service中定义的接口回调给activity去实现并处理后续流程。

service 内部创建一个Binder对象。并在binder对象中创建一个方法 getService返回service对象自身,并创建一个接口定义一个方法。

activity在oncreate的时候BindService绑定 ,并通过第二个参数中的onServiceConnected方法中的参数IBinder获取service对象赋值到成员变量方便后续调用。(此时就不需要管理多余的事情了)。在之后操作的时候通过onClick触发需要的时候利用之前获取到的service对象去调用其自定义的方法进行流程的操作。其中当结束的时候通过service内部的接口把操作结束后的信息通过接口中的方法传出去,再回到Activity中给service创建一个借口对象并实现,之后回调成功并对数据进行展示或者处理全看开发自己处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容