Android - 服务和活动互动

时间:2010-06-17 21:39:02

标签: android service android-activity

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

我希望能够从包外调用Service S,比如从另一个Android应用程序的Activity类B调用,进行预处理,然后在数据准备就绪时调用Activity A.

我的问题是:

  1. 在服务S和活动A之间共享数据的最佳方式是什么?
  2. 外部活动B如何与服务S通信以确定它是否已完成所有预处理,并且活动A已准备好被调用?
  3. 由于 克里斯

1 个答案:

答案 0 :(得分:7)

  

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

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

  

外部活动B如何?   与服务S沟通   确定它是否已完成所有   它的预处理和活动A.   准备被调用了吗?

使用远程绑定模式和AIDL。活动B将使用服务S注册AIDL定义的回调,服务将在适当时调用。有关示例,请参阅herehere