一、安卓四大组件之一
二、长时间运行在后台,不可见,无界面
三、运行在主线程中
四、可跨进程调用
五、使用方法(启动方式)
1.startService启动服务

a.新建类继承自Service

b.重写onCreate方法

c.实现onBind抽象方法

android功能强大的小组件开发 demo 安卓小组件_重新启动


d.重写onStartCommand方法

START_STICKY(服务被异常终止时,重新启动服务)
START_NOT_STICKY(服务被异常终止时,不重新启动服务)
START_REDELIVER_INTENT(服务被异常终止时,重新传递Intent)

e.重写onDestroy方法

android功能强大的小组件开发 demo 安卓小组件_启动服务_02


f.在Manifast文件中注册Service

android功能强大的小组件开发 demo 安卓小组件_异常终止_03


g.在有Context环境中启动Service

android功能强大的小组件开发 demo 安卓小组件_异常终止_04

2.bindService启动服务

a.新建类继承自Service

b.实现onBind抽象方法

android功能强大的小组件开发 demo 安卓小组件_重新启动_05


c.重写onCreate方法

d.重写onUnbind方法

e.重写onDestroy方法

android功能强大的小组件开发 demo 安卓小组件_重新启动_06


f.在Manifast文件中注册Service

android功能强大的小组件开发 demo 安卓小组件_Service_07


g.在有Context环境中绑定Service

android功能强大的小组件开发 demo 安卓小组件_启动服务_08


h.解绑Service:unbindService(ServiceConnection对象)

android功能强大的小组件开发 demo 安卓小组件_重新启动_09

3.bindService间接启动服务

a.在Service继承者类里面新建继承自Binder的内部类方法

b.在内部类里新建返回继承者类对象的一个方法,返回值为Service继承者类的对象

android功能强大的小组件开发 demo 安卓小组件_Service_10


c.在有Context环境中使用

android功能强大的小组件开发 demo 安卓小组件_Service_11


android功能强大的小组件开发 demo 安卓小组件_Service_12

4.IntentService使用服务

a.新建类继承自IntentService

b.实现父类构造方法:onHandleIntent()(IntentService自带的子线程方法(无需控制和管理,耗时操作完成后自动关闭))

android功能强大的小组件开发 demo 安卓小组件_启动服务_13


c.重写onCreate方法

d.重写onStartCommand方法(三种返回值)

START_STICKY(服务被异常终止时,重新启动服务)
START_NOT_STICKY(服务被异常终止时,不重新启动服务)
START_REDELIVER_INTENT(服务被异常终止时,重新传递Intent)

e.重写onDestroy方法

android功能强大的小组件开发 demo 安卓小组件_重新启动_14


f.在Manifast文件中注册Service

android功能强大的小组件开发 demo 安卓小组件_重新启动_15


g.在Context环境中用startService方法启动Service

android功能强大的小组件开发 demo 安卓小组件_重新启动_16