如何将两个Android活动绑定到一个服务?

时间:2011-02-12 19:27:07

标签: android android-activity

我想问一些例子,其中两个不同的活动(第一个活动中的按钮打开第二个活动)正在与一个服务(AIDL等)进行通信 我尝试了很多不同的教程,但它们只是关于如何进行一项活动 - >一项服务。

3 个答案:

答案 0 :(得分:11)

这可能很旧了,但无论如何我都会尝试回答......

在Android中,看到只有一个Activity可以一次绑定到Service,并且一次只能显示一个Activity,因此没有真正的理由要求一次绑定2个活动。

但是,如果您愿意,最好的解决方案是在Service方法中绑定onResume(),并在onPause()方法中解除绑定。这允许您为服务提供两个不相关的活动访问权限,而一次只能绑定一个。

答案 1 :(得分:2)

每个Activity负责Service的绑定和解除绑定。这通常在onResume / onPauseonStart / onStop中完成,具体取决于您的要求。一个Activity无法将另一个Activity绑定到Service。就是那样子。 :)

答案 2 :(得分:0)

您可以使用在不使用AIDL的情况下提供IPC通信的Messenger来完成此操作。这是您可以将多个活动绑定到服务的方式。

  

如果您需要服务与远程进程通信,那么   您可以使用Messenger为您的服务提供界面。   此技术允许您执行进程间通信(IPC)   无需使用AIDL。

看看this link。当您看到代码时,您会发现一个带有Handler的开关盒,这将满足您将从多个活动/组件发送的多个请求。谢谢。我希望答案对你有帮助。