我對Android有點新。我需要做的是在本地活動和服務之間來回發送數據。發送的信息非常敏感,不能被其他應用程序拾取。如果我理解正確,這不包括使用廣播和onBind()函數?如何在本地活動和服務之間來回發送數據
所以活動需要發送一些字符串參數到服務。另外它需要告訴服務哪個活動開始了,所以服務可以回覆正確的類,因爲許多不同的活動都會使用這個服務。一旦服務通過http請求獲取信息,它就會假設將該數據(稍後將被解析的長字符串)發回到啓動它的活動。我如何去做這件事?使用靜態變量/函數不是一個選項,因爲許多活動將再次使用此服務。當然可以使用靜態數組來保存這些類,但這看起來很醜陋......只能通過意圖發送簡單變量(不是對象)?必須有更好的方法來做到這一點。我一直在網上衝浪幾個小時。任何幫助將不勝感激。
編輯
在Android開發者中發現的例子[http://developer.android.com/reference/android/app/Service.html#stopSelf(int)]是一個很大的幫助,以實現本地粘合劑。
對於那些你感興趣的人來說,這裏有一些關於我的實現的更多信息。
- 一旦調用了onServiceConnected函數,就會調用服務中的函數來設置它綁定的活動。之後,服務和活動都可以來回互動。
- 確保服務類中的線程具有處理程序。這使得線程在完成任務後可以向其處理程序發送消息。處理程序然後將服務的結果發送回其綁定的活動。通過處理程序執行此操作可確保應用程序在完成後返回主線程。
歡呼回答! 一旦你說它可以被信任只在本地運行,我就會使用本地綁定。 – Everlost 2010-08-16 11:48:06