我希望你能举出一些例子,其中两个不同的活动(第一个活动中的按钮打开第二个活动)正在与一个服务进行通信(AIDL等)。
我尝试了很多不同的教程,但它们只涉及如何创建一个活动→一个服务。
我希望你能举出一些例子,其中两个不同的活动(第一个活动中的按钮打开第二个活动)正在与一个服务进行通信(AIDL等)。
我尝试了很多不同的教程,但它们只涉及如何创建一个活动→一个服务。
这可能是老问题了,但我仍然会尝试回答...
在Android中,由于一次只能绑定一个Activity
到一个Service
,并且一次只能显示一个Activity
,因此没有真正的理由想要同时绑定两个Activity
。
但如果你愿意,最好的解决方案是在onResume()
方法中绑定Service
,并在onPause()
方法中取消绑定。这可以让两个不相关的活动都可以访问服务,同时一次只绑定一个。
每个Activity
都负责与Service
绑定和解除绑定。这通常在onResume
/onPause
或onStart
/onStop
中完成,具体取决于您的需求。一个Activity
不能将另一个Activity
绑定到一个Service
中。就是这样。 :)
您可以使用提供IPC通信的Messenger而不使用AIDL来实现。这就是如何将多个活动绑定到服务的方法。
如果您需要使您的服务与远程进程通信,则可以使用Messenger为您的服务提供接口。这种技术允许您执行进程间通信(IPC),而无需使用AIDL。
请查看此链接。当您查看代码时,您会发现在处理程序中有一个switch case。这将满足您从多个活动/组件发送的多个请求。