2010-12-19 45 views
-3

我在這裏需要一些幫助,我有一個服務,我可以啓動或停止時,我想,並使用在onStart()命令從我的活動通過使用putExtras()一些額外幫助,結合本地服務

但是我需要一些關於如何與已經創建的服務進行交互的基本指導。

請不要把我同另一個網頁,其已經有一些實現,只要給我所需要的代碼從我的UI交互活動的服務:

是這樣的:

public class myActivity extends Activity { 
Object ReceivedObjectFromService; 

onCreate() 
{ 

some stuff here 
myMethod() 

} 

public class myMethod() 
{ 
//do some stuff with the ReceivedObjectFromService 
//Don't know how to call this method from the service btw 
} 

請提供一些幫助,我不理解關於如何將服務與活動進行交互的教程或反之亦然

+0

*請不要將我轉到另一個已經有一些實現的網頁,只需要給我所需的代碼以便從我的UI活動與服務進行交互* - 這不是Felipeap的正確態度。聽起來你只是想讓我們爲你做這項工作。學習這些*的方法是*去到各種網頁,有一些示例實現,你可以看看。 – Nailuj 2010-12-19 18:55:24

+0

對不起,如果我提出自己的一種粗魯,我說,因爲爲了理解服務本身的功能,我不得不瞭解我正在閱讀的代碼中的其他實現,所以最後我瞭解實現而不是服務本身,因爲有各種各樣的選擇來做到這一點,看起來每個人都使它成爲不同的方式,我不能趕上它們 – Felipeap 2010-12-19 19:45:04

回答

1

與已創建服務的交互與啓動全新服務沒有什麼不同。您只需撥打startService()即可,因此您的客戶端代碼也不例外。

現在,不同的部分是服務本身。在您的服務中,onCreate()必須啓動後臺線程或定時器才能繼續工作。 onStart()將收到所有startService個案,並且實際上必須將它在Intent中收到的數據添加到內部列表或隊列中,然後再從該隊列中將定時器的回調開始處理中。

現在,您可以使用startService傳遞您想要的任何消息或數據(即使關閉服務),並傳遞您的服務能夠理解的Intent中的數據。

希望這會有所幫助。

+0

哇,非常感謝你,我看到的例子都沒有用這種方式使用這些服務,所有這些都使用了一個真正讓我迷惑的Binder對象,深深感謝您! – Felipeap 2010-12-19 19:57:51