Android活动 – 远程服务aidl双向连接

我有两个问题:

  1. 我知道,对于连接活动远程服务,我必须使用AIDL 。 我试过这个,这是工作,但我只能find一个方法连接的例子。 简而言之 – 从服务中读取某些东西(通过活动)。 但我需要解决的一些数据发送到活动 (通过或从服务)。 这是非常重要的,因为服务必须立即发送一些信息到活动之后(从网上获取数据)。
  2. 是否从远程服务再次closures应用程序(活动)?

任何build议将不胜感激。

问候

ARTIK

Solutions Collecting From Web of "Android活动 – 远程服务aidl双向连接"

这是非常重要的,因为服务必须立即发送一些信息到活动之后(从网上获取数据)。

您可以使用AIDL进行双向通信。 您不仅需要公开服务接口,而且还需要通过AIDL将具有.Stubcallback的客户端的callback接口提供给服务接口上的方法。 这有点复杂 – 下面是我的书中的一对示例应用程序,演示了这种技术:

  • 服务
  • 客户

是从远程服务再次closures应用程序(活动)的方式吗?

你的服务可以调用startActivity() ,但通常这是一个坏主意。 用户可能正在做其他事情,突然间你的活动突然出现在前台。 有时,用户可能认为你的活动更重要,但并不总是如此。 请考虑使用Notification ,让用户知道您的应用程序中有某些内容需要用户的注意。

首先,在你的服务中创build一个私人的resultreceivervariables。 然后创build一个方法来设置这个resultreceiver通过连接的活动。 然后使用AIDL通过您刚刚创build的方法将resultreceiver传递到正在运行的服务。 然后在服务中使用resultreceiver.send,如果resultreceiver不为空。

几个例子让你开始http://lalit3686.blogspot.com/2012/06/how-to-update-activity-from-service.html?m=1

http://chrisrisner.com/31-Days-of-Android–Day-28 -Intents-Part-3 – 服务意图