AIDL 跨应用服务

AIDL (Android Interface Definition Language , Android 接口定义语言)

1、AIDL 服务提供方

1)创建 .aidl 文件

本例中,在com.myandroid.aidl 包下定义一个IMyService.aidl 文件;

 

ATD 插件会在工厂gen目录下创建对应的IMyService.java 文件;


2)实现 helloAndroidAIDL 接口

com.myandroid.aidl 包路径下创建 MyService 类,继承android.app.Service 类,并有一个内部类实现 IMyService.Stub 接口


3)对 AIDL 服务配置,以便Android 平台能够识别此服务

打开AndroidManifest.xml 文件,在application 节点加入如下 xml 配置信息:


2AIDL 服务调用方

首先建立AIDL 服务调用方的 Android Project,AIDL 的调用主要如下:

1)将AIDL 服务端生成的 java 文件 com/myandroid/aidl/IMyService.java 复制到本工程,不改起包路径及文件名,即 AIDL 服务端的接口定义;

2)编写代码绑定服务,获取 AIDL 服务对象;

3)通过 AIDL 服务对象完成 AIDL 接口调用;

在需要调用Activity 中定义 IMyService myService 服务调用对象,然后创建 serviceConnection 对象,服务绑定相关代码:

AIDL 服务调用的代码:


注:Android 系统服务的调用不需要绑定服务,而直接获取系统服务对象即可调用其服务接口;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值