您好,登錄后才能下訂單哦!
AIDL大多情況用于不同應用之間通信. (eg: A應用調用B應用的播放視頻功能)
第一步:然后建立AIDL,通過點擊建立AIDL文件,如圖
第二步:在新建的AIDL文件里 寫協議接口
interface IMyAidlInterface { void downLoad(String path); //.... } 第三步:確認包名無誤的情況下 點build -> Make Project 第四步:在提供服務的Service 里 添加
IMyAidlInterface.Stub ms = new IMyAidlInterface.Stub() { @Override public void downLoad(String path) throws RemoteException { Log.e(TAG,"開始下載 -->" + path); } }; 同時修改
@Override public IBinder onBind(Intent intent) { //可取調用者傳遞 intent return ms; }
第五步:調用者 將aidi文件copy到工程下 ,然后用BindService的方式連接即可,如下:
bindService(binderIntent, new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { myServiceAIDL = IMyAidlInterface.Stub.asInterface(service); try { //通過AIDL遠程調用 Log.d(TAG,"++start download++"); myServiceAIDL.downLoad("abc"); } catch (RemoteException e) { e.printStackTrace(); } } @Override public void onServiceDisconnected(ComponentName name) { } }, BIND_AUTO_CREATE);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。