Started 启动的网络
started
形式的服务是指当一个应用组件(好比activity
)经过startService()方法开启的服务。一旦开启,该服务就可一直地在后台运行,哪怕开启它的组件被销毁掉。
一般,开启的服务执行一个单独的操做且并不向调用者返回一个结果。
好比,可能从网络进行下载或者上传一个文件。当任务完成,服务就该自我中止。code
Bound 绑定的接口
bound
形式的服务是指一个应用组件经过调用 bindService() 方法与服务绑定。一个绑定的服务提供一个客户-服务端接口,以容许组件与服务交互,发送请求,得到结果,甚至执行进程间通讯。一个绑定的服务只和与其绑定 的组件同时运行。多个组件能够同时绑定到一个服务,但当所有接触绑定后,服务就被销毁。进程
虽然分这两类,可是一个服务能够同时使用这两种方式——能够用started
无限期的运行,同时容许绑定。只须要在服务中实现两个回调方法:onStartCommand()容许组件开启服务,onBind()容许绑定。it
不论应用程序是怎么起服务的,应用程序均可以用这个服务。一样的,任何组件能够使用一个Activity
经过传递Intent
开启服务。你也能够在配置文件设置服务为私有来防止其余应用访问该服务。后台