星期六, 9月 17, 2011

Service(六)

Android應用程式學習筆記

Service(六)

Bound service是允許應用程式組件通過呼叫bindService()方法綁定service,來實現長期的連結。

當你想從activities或者你的應用程式的其他組件與service互動時,你應該產生一個bound service。或者你想通過進程通訊將你的應用程式的一些功能提供給其他應用程式。

產生一個bound service,你必須實現onBind()回呼方法來回傳一個IBinder物件,IBinder物件定義了與service通訊的接口。其他應用程式組件能呼叫bindService()取得接口並開始呼叫service的方法。service只為綁定他們的應用程式組件而活,所以當沒有組件綁定在service上時,系統就會銷毀它(你不需要用onStartCommand()方法啟動的service的停止方式來停止bound service)。

產生一個bound service,第一件事你必須定義與service通訊的接口,service與客戶端之間的接口是實現IBinder物件,IBinder物件回傳自onBind()方法,一旦客戶端取得IBinder,便可以開始與service互動通訊。

許多客戶端可以同時綁定service,當客戶端已經完成與service的工作後,客戶端會呼叫unbindService()方法來解除綁定連結。當service已沒有其他客戶端綁定時,系統就會銷毀它。

沒有留言:

張貼留言