service的启动方式

首先简单的说说,activity和service之间关系

1,Activity 和 Service 都是 Android 四大组件之一,他俩都是Context 类的子类 ContextWrapper 的子类,因此他俩可以算是兄弟关系吧!

2,Activity负责用户界面的显示和交互,Service 负责后台任务的处理。Activity 和 Service 之间可以通过 Intent 传递数据,因此可以把 Intent 看作是通信使者.

3,对于同一个app,activity和service都是在主线程中.(小知识:service中可以吐司的)...

 

 

service的启动方式    1,startservice  2,bindservice

 

1,采用start的方式开启服务

    首先定义一个类继承service,在注册清单中配置service(四大组件都应该注册!),使用context中的startService(Intent)方法启动该Service.不使用时,调用stopService(Intent)方法停止该服务.

  

一旦服务开启跟调用者(开启者)就没有任何关系了。
开启者退出了,开启者挂了,服务还在后台长期的运行。
开启者不能调用服务里面的方法。



2,采用bind的方式开启服务

   首先定义一个类继承service,在注册清单中配置service,使用Context的bindService(Intent, ServiceConnection, int)方法启动该Service,不再使用时,调用unbindService(ServiceConnection)方法停止该服务.

 

bind的方式开启服务,绑定服务,调用者挂了,服务也会跟着挂掉。
绑定者可以调用服务里面的方法。

 

posted on 2017-07-25 19:30  导演丶  阅读(371)  评论(0)    收藏  举报

导航