14 AIDL

AIDL

Android 接口定义语言
定义AIDL接口
创建.aidl文件,实现iBinder,向客户端公开该接口
AIDL支持的数据类型,基本数据类型,String,List,Map,CharSequence
扩展Binder并实现aidl定义的接口
扩展service并实现onBind方法,返回binder对象,此binder扩展自Interface.stub,并在onServiceConnected中江binder转换为aidl定义的接口(Interface.Stub.asInterface(binder))然后通过该接口就可以访问远程Interface定义的方法了

调用IPC方法的过程

在项目的src中加入.aidl文件
声明一个iBinder扩展自interface.stub的实例
在Service的onBind方法返回上面的iBinder实例
实现ServiceConnection,在Context.bindService中传入serviceConnection对象
在onServiceConnected方法中将iBinder实例转化为定义的接口(Interface.Stub.asInterface(binder))
调用接口中定义的方法
最后unbindService断开连接

参考

AIDL

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容