2011-07-18 38 views
0

我正在構建一個應用程序,該應用程序應該只有一個屏幕,其中包含三個複選框和一個用於保存用戶對複選框的選擇的按鈕。Android首選項啓動服務

如果用戶勾選複選框並單擊按鈕,則即使應用程序已關閉,也應啓動並運行某個服務 - 直到應用程序再次啓動並且用戶不選中該複選框並再次單擊該按鈕。當然,如果用戶剔除複選框,我希望下次啓動該應用程序時,該複選框仍未被選中,反之亦然。

所以我的問題是,我可以用什麼樣的策略來解決這個問題?普通偏好活動? SharedPreferences?

謝謝大家的答案提前:-)

回答

1

我用SharedPreferences了一些與此類似,只是因爲它是有我的業務和活動中看到的信息的簡單方法。

所以,只需要一個RemoteService(http://saigeethamn.blogspot.com/2009/09/android-developer-tutorial-part-9.html)和一個Activity。

活動啓動並查看信息,並可啓動該服務。如果用戶取消選中該框,則可以停止該服務。

因此,服務始終在需要時運行,並且與活動無關,因此當活動死亡時服務會繼續運行。

+0

但有了共享偏好,我是否需要保存任何偏好,例如用戶勾選或取消勾選複選框?偏好部分是我沒有真正清楚的部分.. – noloman

+0

然後,我如何將偵聽程序附加到複選框,以便在用戶勾選此複選框時啓動該服務? – noloman

+1

@noloman - 我會保存任何你想保持在某個地方的狀態。我發現SharedPreferences易於使用,並且如果我願意,它可以讓我選擇共享它。爲了附加聽衆只需按照這個問題的接受答案:http://stackoverflow.com/questions/3149414/how-to-receive-a-event-on-android-checkbox-check-change –