AIDL的基本使用流程

做车机开发不像纯应用层APP开发,只需要专注一个APP,车机开发一个项目就是一套Android源码,然后还得加上特有的apk,可能有十来个这样的apk,经常涉及到apk与apk的跨进程通信,所以需要用到AIDL,下面是AIDL的简单使用流程,仅供参考


(1) 在服务端项目创建.aidl文件,里面定义接口函数,package是.aidl的包名,不是项目的包名;

AIDL的基本使用流程


(2) 构建一下项目,在gen目录会自动生成aidl的.java类;

AIDL的基本使用流程


(3) 创建一个服务类继承Service,并在此类中写一个内部类继承xxx.Stub类,实现接口函数;

AIDL的基本使用流程


(4) 在清单文件中注册此服务类,并添加IntentFilter和Action;至此服务端工作完成;

AIDL的基本使用流程


(5) 将gen目录下连同包名文件夹一起拷贝到客户端项目;
(6) 在客户端绑定服务,将管道中返回的IBinder用成员变量接收起来.绑定服务时,构建Intent对象需要setAction();

AIDL的基本使用流程

AIDL的基本使用流程

(7) 在需要的地方使用对象调用接口函数即可;