【发布时间】:2012-09-10 11:04:00
【问题描述】:
我正面临这样的问题:
我有一个远程(不同进程)绑定服务,它定义了一个带有操作字符串的IntentFilter。
我的客户端在其bindService(..) 调用中使用相同的操作字符串绑定到它。
现在,当我实现另一个具有完全不同的 AIDL 接口但定义了相同 IntentFilter 的服务时,安装此服务并删除旧服务:
- 我的客户端仍然可以绑定
- 我的客户端甚至可以调用所需的方法(比如 void print(Payload)),客户端不抱怨,服务器也不抱怨 侧面
我的问题:有没有办法在运行时检查远程服务正在实现的接口?
我发现的唯一可能的方法是检查ServiceConnection 中的ComponentName。
然而,这有一个含义:
以后不能换服务的实现了。
还是我错过了什么?
【问题讨论】:
标签: android service interface aidl