我正試圖重構/重新設計一個Android應用程序。目前,我有一個UI活動(Activity 1
),它創建了一個DataThread
。此線程負責網絡I/O並通過handler
與UI活動交互(提供數據)。Android服務與多個活動交互
現在,我想添加另一個活動(帶有視頻的新UI屏幕) - Activity 2
。 Activity 1
仍然是主要活動。當用戶點擊Activity 1
上的按鈕時,將會調用Activity 2
。 Activity 2
的數據也來自DataThread
。
我的想法是將我的DataThread
的邏輯放在Android Service
(DataService
)中。我的問題是 - 可以比活動綁定我的DataService
在同一時間嗎?有沒有辦法告訴服務只向特定活動提供數據?
歡迎任何其他想法?
在此先感謝。
我正在尋找這樣的解決方案,有沒有任何工作的例子或鏈接,以獲得有關此實施的更多細節,thx – Sam 2011-06-23 06:54:59
@Rich當您的應用程序終止時,如何綁定它,您如何設法從服務中乾淨地解除綁定在你的應用程序類?由於Application#onTerminate()永遠不會在生產設備上調用,請參閱JavaDoc http://developer.android.com/reference/android/app/Application.html – 2012-02-20 18:23:17
@SvenJacobs我能想到的唯一方法是:讓服務調用' stopSelf()'在一段時間後,所有活動都暫停。在這種情況下,活動必須在服務暫停時告訴服務他們的狀態。活動永遠不會調用'unbindService()',並且服務在每個Activity的每個onResume()上綁定到'applicationContext'。 – OneWorld 2013-07-04 14:48:09