Android service 两种启动模式

1.startservice

使用service的步骤:

1.定义一个类继承service

2.在manifest.xml文件中配置该service

3.使用context的startservice方法启动该service

4.不在使用时,调用stopService方法停止该服务

使用这种start方式启动的service的生命周期如下

oncreate-->onstartCommand-->ondestory

说明:如果服务已经开启,不会重复执行oncreate  而是会调用onstart和onstartCommand

服务停止时候调用ondestory  五福智慧被停止一次

特点:一旦服务开启跟调用者就没用任何关系了

开启者退出了,开启者挂了,服务还在后台长期运行

开启者不能调用服务里的方法

2.bindservice

1.定义一个类继承service

2.在manifest.xml文件中配置该service

3.使用context的bindservice方法开启该service

4.不在使用时调用unbindservice方法停止该服务

使用这种start方式启动的service生命周期如下

oncreate-->onbind-->onunbind-->ondestory

注意:绑定服务不会调用onstart或者onstartCommand方法

特点:bind的方式开启服务,绑定服务,调用者挂了,服务也会跟着挂掉,

绑定者可以调用服务里的方法

绑定本地服务调用方法步骤:

1.在服务的内部创建一个内部类提供一个方法,可以间接调用服务的方法.

2/实现服务onbind方法,返回的就是这个内部类

3.在activity绑定服务,bindservice

4.在服务成功绑定的回调方法onserviceconnected,会传递过来一个ibinder对象

5.强制类型转换化为自定义的接口类型,调用接口里面的方法.

你可能感兴趣的:(Android service 两种启动模式)