• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
韩亚飞_yue31313_韩梦飞沙
未来的某一天你会觉得现在所做的,大部分很烂,小部分很好
博客园    首页    新随笔    联系   管理    订阅  订阅

Aidl

 韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha

安卓接口定义语言

例如 a进程 要与 b进程中的 服务 实现通信。

可以在 a工程 中, 创建一个 aidl文件,在里面定义接口,然后 生成gen 目录下 会自动生成 一个 .java文件。 

 

然后 定义自己的 服务类, 在这个服务类 里 ,定义一个内部类,继承 这个  xxx.stub 这个内部类  xxx是根据 adil文件文件名。 这个stub内部类 实际就是 之前 生成的.java文件中所包含的一个内部类。

在 我们定义的这个内部类中  在它的 在绑定时候 方法 中 返回  这个内部类 对象, 系统会自动将这个对象 封装成  接口绑定器IBinder对象 ,传递给它的调用者。

 

然后 在 清单文件中 配置 服务类,

在这个服务类 下 添加  动作action  安卓:name=“xxxx”      ,xxxx就是 adil的包路径加它的文件名 ,指明了这个名字,  b进程  就能找到它 ,实现通信。

 

在b工程中: 把a工程中的 自动生成的.java文件 复制到 b工程里,  在绑定服务方法中 将 上面指明的那个名字 作为 意图的 动作 参数。

 

b工程中 要创建相应的包,保证 自动生成的.java文件的 包名 正确。

 

韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha
posted @ 2017-08-16 11:16  韩梦飞沙_韩亚飞  阅读(159)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3