2010-06-17 83 views
5

我想创建一个包含服务S和活动A的应用程序。服务S负责预处理,例如在活动之前准备活动A的UI上显示的数据A被调用。Android - 服务和活动交互

我希望能够从包的外部调用服务S,从其他Android应用程序的活动B类说,做预处理,然后当数据准备好,调用活动A.

我的问题是:

  1. 在服务S和活动A之间共享数据的最佳方式是什么?
  2. 外部活动B如何与服务S进行通信以确定它是否已完成其所有预处理,并且可以调用活动A?

感谢 克里斯

+0

也许我可以使用广播接收器让服务告诉外部活动它已完成其预处理? – Chris 2010-06-18 00:26:39

回答

7

什么是服务S和活动A之间共享数据 的最佳方式?

使用本地绑定模式并将Activity A绑定到Service S,然后调用服务的公开API以检索所需的任何内容。

外部活动B 与服务S到 沟通如何确定其是否已与所有 其预处理完成的,活性的 准备被调用?

使用远程绑定模式和AIDL。活动B将向服务S注册AIDL定义的回调,服务将在适当时调用该服务。举例来说,参见herehere

+0

最后它是有道理的!谢谢! – Chris 2010-06-18 01:04:35