|
绑定本地service需要调用
bindService(Intent,ServiceConnection,int)
Intent 指定要启动的Service
ServiceConnection 对象 该对象用于监听访问者与Service之间的连接情况
当访问者与Service之间连接成功时回调 该ServiceConnection对象的
onServiceConnected(ComponentName name,IBinder service)方法。
当访问者与Service之间断开连接时将回调该ServiceConnection对象的
onServiceDisConnected(ComponentName name)方法
其中onServiceConnected方法中有一个IBinder对象 该对象实现与被绑定Service
之间通信
所以开发Service类 该service类必须提供一个 IBinder onBind(Intent )方法
在绑定本地Service的情况下 onBind方法返回的IBinder对象将会传给
ServiceConnection对象里 onServiceConnected(ComponentName,IBinder
service)方法 的service参数 访问者就可以通过该IBinder对象与Service进行通
信.
service 生命周期
startService启动的生命周期
启动service-onCreate-onStart-service运行-服务被通知停止onStop()-
onDestroy 服务关闭
bindService启动生命周期
bindService启动-oncreate-onBind-客户端与Service交互-onUnbind-onDestroy-
服务关闭
特殊情况
startService 启动service 然后绑定 再解绑 在绑定
oncreate()-onStart()-onBind()-onUbind()-onRebind();
|