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斷開連接