美文网首页
什么是 AIDL 以及如何使用?

什么是 AIDL 以及如何使用?

作者: 我觉得我还可以抢救下 | 来源:发表于2020-08-19 10:31 被阅读0次

aidl 是 Android interface definition Language 的英文缩写, 意思Android 接口定义语言。

②使用 aidl 可以帮助我们发布以及调用远程服务,实现跨进程通信。

③将服务的 aidl 放到对应的 src 目录,工程的 gen 目录会生成相应的接口类

我们通过 bindService(Intent,ServiceConnect,int)方法绑定远程服务,在 bindService 中有一个 ServiceConnec 接口, 我们需要覆写该类的onServiceConnected(ComponentName,IBinder)方法,这个方法的第二个参数 IBinder 对象其实就是已经在 aidl 中定义的接口,因此我们可以将 IBinder 对象强制转换为 aidl 中的接口类。

我们通过 IBinder 获取到的对象(也就是 aidl 文件生成的接口)其实是系统产生的代理对象,该代理对象既可以跟我们的进程通信,又可以跟远程进程通信, 作为一个中间的角色实现了进程间通信。

相关文章

网友评论

      本文标题:什么是 AIDL 以及如何使用?

      本文链接:https://www.haomeiwen.com/subject/sxvidktx.html