如何从广播接收器回复服务?

时间:2010-08-17 19:45:39

标签: android

希望有人可以帮助我。我会尽量简明扼要!

我有一个启动服务的小部件。该服务注册两个广播接收器。我想将接收器中的意图发送回服务,以便服务可以做出反应。

我相信我在某个地方读过“多次启动”服务的情况,例如:在接收器中执行以下操作:

serviceIntent.setAction("me.SERVICE");
intent.putExtra("me.SERVICE", somedata);
context.startService(serviceIntent);

我记得(在某些博客上)读取这不会启动新服务,但只是将意图传递给已经运行的服务。它是否正确?这样做不好吗?还有更好的方法吗?

非常感谢!

杰克

2 个答案:

答案 0 :(得分:1)

是的,我在2.0之前的应用程序中使用过这种方法。

答案 1 :(得分:0)

我用单身人士完成了这个。我在服务的onCreate中设置了一个私有变量(指向'this'),然后使用一个名为getInstance()的静态方法返回它。所以稍后,我只需调用MyService.getInstance()来获取服务。