AIDL
Android 接口定義語言
定義AIDL接口
創(chuàng)建.aidl文件,實(shí)現(xiàn)iBinder洽议,向客戶端公開該接口
AIDL支持的數(shù)據(jù)類型宗收,基本數(shù)據(jù)類型漫拭,String,List混稽,Map采驻,CharSequence
擴(kuò)展Binder并實(shí)現(xiàn)aidl定義的接口
擴(kuò)展service并實(shí)現(xiàn)onBind方法,返回binder對(duì)象匈勋,此binder擴(kuò)展自Interface.stub礼旅,并在onServiceConnected中江binder轉(zhuǎn)換為aidl定義的接口(Interface.Stub.asInterface(binder))然后通過該接口就可以訪問遠(yuǎn)程Interface定義的方法了
調(diào)用IPC方法的過程
在項(xiàng)目的src中加入.aidl文件
聲明一個(gè)iBinder擴(kuò)展自interface.stub的實(shí)例
在Service的onBind方法返回上面的iBinder實(shí)例
實(shí)現(xiàn)ServiceConnection,在Context.bindService中傳入serviceConnection對(duì)象
在onServiceConnected方法中將iBinder實(shí)例轉(zhuǎn)化為定義的接口(Interface.Stub.asInterface(binder))
調(diào)用接口中定義的方法
最后unbindService斷開連接