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 系統服務的調用不需要綁定服務,而直接獲取系統服務對象即可調用其服務接口;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章