2013-03-11 37 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