2013-03-11 30 views
15

我有問題將活動的值傳遞給已經運行的服務。我想知道最好的方法是什麼?添加額外功能不會工作,因爲我相信這必須在意圖開始之前完成? (如我錯了請糾正我)。Android:將變量傳遞給已經運行的服務

任何幫助將是巨大的!如果需要,我可以詳細說明。

丹。

回答

27

如果您的服務不是IntentService,您可以撥打startService(...)多次。該服務將首次運行,但下次呼叫將導致新的onStartCommand()呼叫以及您需要的新增費用。

檢查this answerdoc

+1

同意,這裏更多的證據來自['Activity#startService()'](https://developer.android.com/reference/android/content/Context.html#startService%28android.content.Intent%29)'的文檔。 – Sam 2013-03-11 19:19:58

+0

啊我明白了。不知道我是如何錯過這個閱讀文檔的。感謝您的迅速回答! – L337BEAN 2013-03-11 19:34:13

+1

另請參閱[本答案](http://stackoverflow.com/a/15899750/1340631),它解釋瞭如何在'onStartCommand()'過程中調用'startService()'傳遞新的Intents並在服務中讀取它們。基本上和這裏一樣的答案,但稍微冗長些。 – scai 2016-08-06 08:19:08