android intent 与binder,android,,service求助, public IBinder onBind(Intent intent) { ///////此处的IBinder是...

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

wanghuilw13

2015.10.05

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:51%    等级:12

已帮助:6468人

在Android中Service的启动方式有两种,第一种是startService,第二种是bindService. 你这里问的是第二种方法,生命周期是这样的:

bindSerivce->onCreate->onBind->running->onUnbind->onDestroy.

由字面意思可以看出来onBind方法就是当试图绑定服务时做的事,作用一般情况下主要是返回IBinder对象,为后面服务成功绑定时的操作做准备,也可以做一些服务初始化之类的事。

如果用过bindService就会知道这个方法里的第二个参数是一个ServiceConnection的对象,在使用这个对象的时候你需要重写两个方法onServiceConnected(ComponentName name, IBinder service)和onServiceDisconnected(ComponentName name). 其中onServiceConnected方法参数中的service就是你上面所说的返回的IBinder的对象,只有你在onBind方法里面返回一个IBinder对象的时候onServiceConnected才会被调用,说明服务成功绑定,而在这个方法里面你可以对服务中的一些数据进行初始化控制等操作,实现Activity与Service之间简单的交互。

说的应该挺明白了吧,建议自己可以参照网上资料把Service的两种启动方式所涉及到的知识点梳理一遍,然后再编程调试,可以加深对这一部分知识的理解。

30分享举报

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值