Started 啓動的網絡
started
形式的服務是指當一個應用組件(好比activity
)經過startService()方法開啓的服務。一旦開啓,該服務就可一直地在後臺運行,哪怕開啓它的組件被銷燬掉。
一般,開啓的服務執行一個單獨的操做且並不向調用者返回一個結果。
好比,可能從網絡進行下載或者上傳一個文件。當任務完成,服務就該自我中止。code
Bound 綁定的接口
bound
形式的服務是指一個應用組件經過調用 bindService() 方法與服務綁定。一個綁定的服務提供一個客戶-服務端接口,以容許組件與服務交互,發送請求,得到結果,甚至執行進程間通訊。一個綁定的服務只和與其綁定 的組件同時運行。多個組件能夠同時綁定到一個服務,但當所有接觸綁定後,服務就被銷燬。進程
雖然分這兩類,可是一個服務能夠同時使用這兩種方式——能夠用started
無限期的運行,同時容許綁定。只須要在服務中實現兩個回調方法:onStartCommand()容許組件開啓服務,onBind()容許綁定。it
不論應用程序是怎麼起服務的,應用程序均可以用這個服務。一樣的,任何組件能夠使用一個Activity
經過傳遞Intent
開啓服務。你也能夠在配置文件設置服務爲私有來防止其餘應用訪問該服務。後臺