AIDL 跨应用服务

来源:互联网 发布:java游戏破解合集 编辑:程序博客网 时间:2024/06/05 17:11

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 系统服务的调用不需要绑定服务,而直接获取系统服务对象即可调用其服务接口;

0 0
原创粉丝点击