在Android中,在服务和BroadcastReceiver之间进行通信的最佳方式是什么?

时间:2013-12-21 12:03:04

标签: android service broadcastreceiver

我需要能够让服务“告诉”BroadcastReceiver做一些工作,然后等到工作完成,一旦完成,BroadcastReceiver需要将结果发送回服务。此时,该服务可以继续执行。

因此,将工作从服务“发送”到BroadcastReceiver很容易 - 我只是发送一个带有意图的广播,用于需要完成的工作。但我不知道如何让BroadcastReceiver将结果发送回服务。最好的方法是什么?

修改 我应该提到有问题的服务实际上是一个联系人同步适配器服务。我不确定这是否有所作为,但也许确实如此。有些工作不能在同步适配器的范围内完成,这就是为什么我要将它卸载由广播接收器完成。

1 个答案:

答案 0 :(得分:0)

从服务注册第二个内联广播接收器只是为了从第一个广播接收器接收结果。通过Intent传递数据。在第二个广播接收器 onReceive()做任何你想做的事。

取消注册服务的 onDestroy 中的第二个广播接收器。