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要在同一个包的原因。
要制定包名,不能隐式启动,否则会报错。
另外一点包名要注意aidl文件所在的包名要一直在客户端和服务器端
另外aidl接口的包名要跟服务器端manifest文件里的包名一致。由于客户端只和本地代理对象即服务句柄通信,由代理对象进行真正的IPC操作,所以对客户端来说,IPC过程是透明的,调用远程操作如同调用本地操作一样。在客户端调用transact()时,会将服务描述DSCRIPTION写入到data里,在客户端onTransact时会验证,如果两个不一样,则不能通信。而DSCRIPTION是根据mInterface包名和接口名自动生成的,这就是为什么两个工程里的mInterface.aidl要在同一个包的原因。
相关文章推荐
- rotate图片旋转 http://blog.csdn.net/lonelyroamer/article/details/8252533
- MethodInvokingJobDetailFactoryBean的并发问题
- blog is waiting for you
- Could not obtain transaction-synchronized Session for current thread
- Linux sync命令的作用 http://blog.csdn.net/holandstone/article/details/7356865
- HDU 2476 String painter(记忆化搜索, DP)
- copypng emitted errors but did not return a nonzero exit code to indicate failure
- 超级块与索引节点 http://blog.csdn.net/ilsas/article/details/5627348
- TIME_WAIT状态的必要性
- POJ 1273 Drainage Ditches(最大流模板)
- MailMessage From 及Sender的區別
- mycat AIO改写成NIO 性能从80000tps增加到100000tps
- 磁盘RAID
- BIO/NIO/AIO的文章
- MFC中改变对话框背景的几个消息函数OnEraseBkgnd、 OnPaint、 OnCtlColor的调用顺序
- Unity 3D 使用Relief Terrain Pack(RTP) 问题
- Windows AIK+Imagex+DISM+U盘PE+U盘安装win7+PE
- rails4 will_paginate ajax 局部刷新
- fopen: failed to open stream: Permission de
- 出现Failed to read candidate component错误