关于Service:Service是一个可以运行在后台的组件。
与Activity不同,Service是程序,需要程序控制启动,不能像Activity一样系统控制启动。
Service 的创建:
![](https://i-blog.csdnimg.cn/blog_migrate/051c263de9286946f3e0ae4afe4187c1.png)
在MyService中,重写方法
onCreate()
onDestroy()
onStartCommand()
然后在清单文件中进行注册来进行服务的使用。
一.开启服务
用startService()方法开启服务。
Intent intent=new Intent(this,MyService.class);
startService(intent);
二.关闭服务
用stopService()方法开启服务。
Intent intent=new Intent(this,MyService.class);
stopService(intent);
三.绑定服务
定义的服务类,需要重写onBind方法,并调用方法继承Binder并返回。
@Override
public IBinder onBind(Intent intent) {
Log.i("--aa", "onBind: "+2);
return new MyBind();
}
public class MyBind extends Binder{
}
需要在Activity中新写一个ServiceConnection方法 将服务类里的MyBind方法赋值
iBinder返回代理对象
MyService2.MyBind myBind;
ServiceConnection serviceConnection=new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
myBind=(MyService2.MyBind)iBinder;
}
@Override
public void onServiceDisconnected(ComponentName componentName) {
}
};
之后在下方bindService进行绑定
第一个参数为:intent意图,第二个参数为:绑定服务链接,第三个参数为:flag标记。
Intent intent=new Intent(this,MyService2.class);
bindService(intent,serviceConnection,BIND_AUTO_CREATE);
如需解除绑定
unbindService(serviceConnection);