【发布时间】:2014-11-21 16:00:07
【问题描述】:
如何从单个服务提供多个 AIDL 接口?场景如下:
|---Client_1
|--AIDL1--| ...
| |---Client_6
MyService |
| |---Client_4
|--AIDL2--| ...
|---Client_9
- 具有多个 AIDL 的单一服务;
- 每个客户端都可以访问任意数量的 AIDL 接口;
- 为了更好地理解上图,一些客户端(例如 Client_1、Client_8)只使用一个接口,而其他客户端(例如 Client_4、Client_5、Client_6)同时访问 AIDL1 和 AIDL2。
我的想法是使用方法public IBinder onBind(Intent intent) 的意图以某种方式找出客户端应用程序调用的类型和该客户端感兴趣的AIDL . 这可能吗?
【问题讨论】:
-
当然,只需在服务的 onBind 方法中返回不同的 IBinders
-
如果您不知道如何在服务端实现它,请参阅Api Demos,文件RemoteService .java
标签: android android-intent android-service