Android - 服务和活动互动

Chr*_*ris 5 service android 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已准备好被调用?

谢谢克里斯

Com*_*are 7

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

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

外部活动B如何与服务S通信以确定它是否已完成所有预处理,并且活动A已准备好被调用?

使用远程绑定模式和AIDL.活动B将使用服务S注册AIDL定义的回调,服务将在适当时调用.见这里这里的一个例子.