一、安卓四大组件之一
二、长时间运行在后台,不可见,无界面
三、运行在主线程中
四、可跨进程调用
五、使用方法(启动方式)
1.startService启动服务
a.新建类继承自Service
b.重写onCreate方法
c.实现onBind抽象方法
d.重写onStartCommand方法
START_STICKY(服务被异常终止时,重新启动服务)
START_NOT_STICKY(服务被异常终止时,不重新启动服务)
START_REDELIVER_INTENT(服务被异常终止时,重新传递Intent)
e.重写onDestroy方法
f.在Manifast文件中注册Service
g.在有Context环境中启动Service
2.bindService启动服务
a.新建类继承自Service
b.实现onBind抽象方法
c.重写onCreate方法
d.重写onUnbind方法
e.重写onDestroy方法
f.在Manifast文件中注册Service
g.在有Context环境中绑定Service
h.解绑Service:unbindService(ServiceConnection对象)
3.bindService间接启动服务
a.在Service继承者类里面新建继承自Binder的内部类方法
b.在内部类里新建返回继承者类对象的一个方法,返回值为Service继承者类的对象
c.在有Context环境中使用
4.IntentService使用服务
a.新建类继承自IntentService
b.实现父类构造方法:onHandleIntent()(IntentService自带的子线程方法(无需控制和管理,耗时操作完成后自动关闭))
c.重写onCreate方法
d.重写onStartCommand方法(三种返回值)
START_STICKY(服务被异常终止时,重新启动服务)
START_NOT_STICKY(服务被异常终止时,不重新启动服务)
START_REDELIVER_INTENT(服务被异常终止时,重新传递Intent)
e.重写onDestroy方法
f.在Manifast文件中注册Service
g.在Context环境中用startService方法启动Service