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 配置信息:
2、AIDL 服務調用方
首先建立AIDL 服務調用方的 Android Project,AIDL 的調用主要如下:
1)將AIDL 服務端生成的 java 文件 com/myandroid/aidl/IMyService.java 複製到本工程,不改起包路徑及文件名,即 AIDL 服務端的接口定義;
2)編寫代碼綁定服務,獲取 AIDL 服務對象;
3)通過 AIDL 服務對象完成 AIDL 接口調用;
在需要調用Activity 中定義 IMyService myService 服務調用對象,然後創建 serviceConnection 對象,服務綁定相關代碼:
AIDL 服務調用的代碼:
注:Android 系統服務的調用不需要綁定服務,而直接獲取系統服務對象即可調用其服務接口;