android Services 上

一个服务本质上讲有两种形式:

Started 启动的网络

started形式的服务是指当一个应用组件(好比activity)经过startService()方法开启的服务。一旦开启,该服务就可一直地在后台运行,哪怕开启它的组件被销毁掉。
一般,开启的服务执行一个单独的操做且并不向调用者返回一个结果。
好比,可能从网络进行下载或者上传一个文件。当任务完成,服务就该自我中止。code

Bound 绑定的接口

bound形式的服务是指一个应用组件经过调用 bindService() 方法与服务绑定。一个绑定的服务提供一个客户-服务端接口,以容许组件与服务交互,发送请求,得到结果,甚至执行进程间通讯。一个绑定的服务只和与其绑定 的组件同时运行。多个组件能够同时绑定到一个服务,但当所有接触绑定后,服务就被销毁。进程

  虽然分这两类,可是一个服务能够同时使用这两种方式——能够用started无限期的运行,同时容许绑定。只须要在服务中实现两个回调方法:onStartCommand()容许组件开启服务,onBind()容许绑定。it

  不论应用程序是怎么起服务的,应用程序均可以用这个服务。一样的,任何组件能够使用一个Activity经过传递Intent开启服务。你也能够在配置文件设置服务为私有来防止其余应用访问该服务。后台

相关文章
相关标签/搜索