14 AIDL

AIDL

Android 接口定義語言
定義AIDL接口
創(chuàng)建.aidl文件,實現(xiàn)iBinder,向客戶端公開該接口
AIDL支持的數(shù)據(jù)類型,基本數(shù)據(jù)類型,String,List,Map,CharSequence
擴展Binder并實現(xiàn)aidl定義的接口
擴展service并實現(xiàn)onBind方法,返回binder對象,此binder擴展自Interface.stub,并在onServiceConnected中江binder轉換為aidl定義的接口(Interface.Stub.asInterface(binder))然后通過該接口就可以訪問遠程Interface定義的方法了

調(diào)用IPC方法的過程

在項目的src中加入.aidl文件
聲明一個iBinder擴展自interface.stub的實例
在Service的onBind方法返回上面的iBinder實例
實現(xiàn)ServiceConnection,在Context.bindService中傳入serviceConnection對象
在onServiceConnected方法中將iBinder實例轉化為定義的接口(Interface.Stub.asInterface(binder))
調(diào)用接口中定義的方法
最后unbindService斷開連接

參考

AIDL

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容