2012-05-14 101 views
2

我有一項服務,主要活動用於執行一些後臺工作,它開始使用綁定和解除綁定。Android:服務啓動服務或綁定服務

這樣,當活動啓動服務啓動和停止時,活動調用解除綁定,這工作得很好。

現在我需要有一個CheckBoxPreference,一旦真正啓動服務,它必須在後臺運行,儘管主要活動將關閉。

什麼是得到這個結果的最好方法?是否必須從偏好設置startservice/stopservice,還是必須在首選項爲true時不要從主要活動中解除綁定?

如果我從首選項啓動服務時已經從主活動的綁定開始,這將是多個同一服務的實例嗎?

謝謝

回答

2

使用OnSharedPreferenceChangeListener所以你當從複選框選擇未選擇(反之亦然)的變化得到更新。

您可以同時使用start/stopService機制和bind/unbind機制。如果startService被調用,或者服務被綁定,服務將啓動,當stopService被調用並且沒有活動被綁定時,服務將停止。

我認爲this post將回答您有關已開始服務的問題。