一:两个方法
1. startService() 直接启动
- 调用该方法后,服务即处于启动状态
- 停止方法:自身调用stopSelf(),其他组件调用stopService()
- 其他组件启动服务之后无法与服务通信
- 即使启动服务的组件被销毁,服务也不会受影响直到停止
2. bindService() 绑定
- 调用该方法后,服务即处于启动状态
- 停止方法:与Service绑定的组件销毁或者他们调用unbindService()
- 其他组件可以通过ServiceConnection与服务进行通信,组件可以发送请求,获取结果。。。
- 其他组件取消绑定,服务停止
组件不包括Broadcast receiver。
如果同时启动并且绑定了服务,需要取消绑定和停止服务,服务才能真正停止
二:创建一个Service
- 创建一个类继承Service或者它的子类
- 重写关键的回调方法(onStartCommand(),onBind())
- 在Manifests文件里面声明,并根据需要配置一些其他属性