淺談Android Aidl 通訊機制
服務(wù)端:
首先是編寫一個aidl文件,注意AIDL只支持方法,不能定義靜態(tài)成員,并且方法也不能有類似public等的修飾符;AIDL運行方法有任何類型的參數(shù)和返回值,在java的類型中,以下的類型使用時不需要導(dǎo)入包(import),基本數(shù)據(jù)類型、String、Map、List.當(dāng)然為了避免出錯,建議只要使用了,就導(dǎo)入包。
然后在服務(wù)端啟動一個服務(wù)并注冊,編寫一個任意類實現(xiàn)AIDL文件生成的JAVA接口Stub!
最后在service里面實例化你的任意類并且在onBind(Intent a)方法上面返回你任意類的對象!
客戶端:
首先把你在服務(wù)端的aidl文件完整的復(fù)制過來一份,并且保證包名一樣
然后調(diào)用bindservice方法綁定你在服務(wù)端創(chuàng)建的方法mContext.bindService(intent, mServiceConnection, 0);
其中mServiceConnection是重點:
private ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {//連接上服務(wù)器時調(diào)用
mService = IRemoteService.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName name) {//沒連上調(diào)用
mService = null;
}
};
其中mService就是服務(wù)端的aidl對象,我們可以通過它來給服務(wù)端的方法賦值
其中的傳的Intent要注意必須提供一個intent-filter來匹配請求是否合法,所以我們在客戶端訪問服務(wù)的時候,還必須傳遞包含了匹配action的Intent哦。
以上內(nèi)容是小編給大家介紹的Android Aidl 通訊機制 ,希望對大家有所幫助!
相關(guān)文章
安卓(Android)開發(fā)之統(tǒng)計App啟動時間
當(dāng)大家要改善APP啟動速度優(yōu)化的時候,首先要知道App的啟動時間,那么改如何統(tǒng)計時間呢,下面我們一起來看看。2016-08-08
Ubuntu中為Android系統(tǒng)上實現(xiàn)內(nèi)置C可執(zhí)行程序測試Linux內(nèi)核驅(qū)動程序
本文主要介紹在Ubuntu上為Android系統(tǒng)內(nèi)置C可執(zhí)行程序測試Linux內(nèi)核驅(qū)動程序,這里對測試Linux 內(nèi)核驅(qū)動程序做了詳細介紹,并附有代碼示例,有興趣的小伙伴可以參考下2016-08-08
android自定義組件實現(xiàn)儀表計數(shù)盤
這篇文章主要為大家詳細介紹了android自定義組件實現(xiàn)儀表計數(shù)盤,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11
Android Studio 中的Gradle構(gòu)建系統(tǒng)示例
這篇文章主要介紹了Android Studio 中的Gradle構(gòu)建系統(tǒng)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
解決NDK開發(fā)中Eclipse報錯Unresolved inclusion jni.h的最終解決方法(已測)
這篇文章主要介紹了解決NDK開發(fā)中Eclipse報錯Unresolved inclusion jni.h的最終方法,需要的朋友可以參考下2016-12-12
Android開發(fā)實現(xiàn)讀取excel數(shù)據(jù)并保存為xml的方法
這篇文章主要介紹了Android開發(fā)實現(xiàn)讀取excel數(shù)據(jù)并保存為xml的方法,涉及Android針對Excel數(shù)據(jù)讀取及xml格式文件的構(gòu)造與保存相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
Android中通過樣式來去除app的頭及界面全屏(備忘)的實現(xiàn)方法
這篇文章主要介紹了Android中通過樣式來去除app的頭及界面全屏(備忘)的相關(guān)資料,需要的朋友可以參考下2016-12-12

