A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王新年 中级黑马   /  2013-12-7 14:59  /  711 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在servic的绑定模式下,其中在获得servic组件的onBind方法返回的IBind对象后,它是怎样进行操作的?

1 个回复

倒序浏览
本帖最后由 25343215 于 2013-12-7 16:21 编辑

Android中绑定方法,可以获取到服务中自定义的方法。具体流程如下。

首先在Activity主界面上,开启绑定服务,传入三个参数。
// 步骤1.采用绑定服务的方式开启服务

激活绑定后,就会调用Service里的onbind,该方法返回一个自定义的代理人对象,而自定义的代理人对象,需要实现Binder和自定义的约束接口,实现约束接口的方法,并调用Service类里已经实现的方法。
// 步骤2,服务在成功绑定的时候,会调用onbind方法,返回一个inbinder对象

在Activity主界面上,我们绑定时需要传入3个参数,其中一只是实现ServiceConnection接口,自定义一个类,实现这个接口,利用里面的onServiceConnected方法,(在服务被成功绑定的时候,调用的方法),在这个方法参数里面,有一个IBinder,获取他,并把其强转为我们之前定义的约束接口,
// 步骤3,服务返回inbinder对象,会被传递给onServiceConnected的回调方法

在Activity里面,定义接口的引用(也就是上一部中的IBinder的强转对象),最后在Activity中获取Service中的方法
// 步骤4,在activity里面得到服务,ibinder对象的引用
// 步骤5:利用ibinder对象,间接地调用了服务里面的方法




评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马