您的位置:首页 > 大数据 > 人工智能

AIDL相关的解释远程service和client处理

2015-09-24 21:04 267 查看
Android5.0以后intent启动service要求显示启动,启动方式如下所示:

要制定包名,不能隐式启动,否则会报错。

另外一点包名要注意aidl文件所在的包名要一直在客户端和服务器端

另外aidl接口的包名要跟服务器端manifest文件里的包名一致。由于客户端只和本地代理对象即服务句柄通信,由代理对象进行真正的IPC操作,所以对客户端来说,IPC过程是透明的,调用远程操作如同调用本地操作一样。在客户端调用transact()时,会将服务描述DSCRIPTION写入到data里,在客户端onTransact时会验证,如果两个不一样,则不能通信。而DSCRIPTION是根据mInterface包名和接口名自动生成的,这就是为什么两个工程里的mInterface.aidl要在同一个包的原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: