我正在努力建立一个在不同过程中运行的Activity和Service之间的双向通信。
从Activity查询进程没什么大不了的。但我希望该过程通知活动事件。它背后的想法是:服务独立于实际的应用程序运行。它定期查询Web服务器。如果在Web服务器上找到新任务,则该过程应通知该活动。
我在AndDev.org找到了this thread,但它似乎对我不起作用。我一直在搞乱BroadcastReceiver。我已经实现了一个应该通知Activity的接口,但问题是监听器总是为null,因为进程的Broadcast是通过Intent完成的,因此扩展BroadcastReceiver的类将被新实例化。
如何建立双向通信?这必须是可能的。 谢谢你的帮助,
steff
答案 0 :(得分:4)
使用BroadcastReceiver
或Activity
register a callback or listener object调用关键事件Service
。上面的链接是为了预示演示每种技术的示例项目。
答案 1 :(得分:2)
我认为你应该让BroadcastReceiver
再次开始你的活动,结果是在意图中。
或者你可以使用AIDL关于AIDL。样本还有一个(多个?)示例如何使用AIDL和服务。但AIDL
可能会为您的目的带来麻烦。
答案 2 :(得分:2)
您必须使用BroadcastReceiver
来接收意图,并且当您想要进行通信时,只需使用适当的值创建一个Intent。
这样您就可以在任何组件之间进行双向通信。