上篇是第一种方法,这里主要是第二种Context.bindService()方法
1. 开发步骤
1. 绑定服务
Intent intent=new Intent(getBaseContext(),MyService.class);
bindService(intent,connection, Context.BIND_AUTO_CREATE);
2. 解绑服务
unbindService(connection);
首先对于对于bindService()Method,
参数如下:
各个参数解释如下:
1.service:即通过intent指定的服务,与之前第一种方法一致
2.conn:这是ServiceConnection的一个对象,其中有两个 函数,分别是onServiceConnected()和onServiceDisconnected(),用来监听访问者与Service之间的连接情况,当访问者与Service成功连接将回调onServiceConnected函数,当Service进程被crashed or killed(异常终止等)则回调onServiceDisconnected函数。
具体函数为:
ServiceConnection connection=new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
// method
}
@Override
public void onServiceDisconnected(ComponentName name) {
// method
}
};
- 3.flag:即绑定时是否自动创建Service,如上参数图所示,0为不自动,BIND_AUTO_CREATE为自动创建