在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的对象, , 说明服务成功绑定,而在这个方法里面你可以对服务中的一些数据进行初始化控制等操作, 实现Activity与Service之间简单的交互。 参照网上资料把Service的两种启动方式所涉及到的知识点梳理一遍, 然后再编程调试, 可以加深对这一部分知识的理解。