通知

AIDL的實現(xiàn)過程!

1、提供遠程服務(wù)方法的應(yīng)用

1.創(chuàng)建一個Service,重寫onBind方法,在onBind中返回一個Binder對象,需要遠程調(diào)用的方法放到這個Binder對象中

2.在清單文件中聲明對應(yīng)的Service,需要添加一個intent-filter,可以通過隱式意圖調(diào)用Service

3.創(chuàng)建一個接口,需要暴露給其它應(yīng)用調(diào)用的方法都聲明在這個接口中

4.把接口文件的擴展名修改為.aidl,需要注意的是,.aidl文件不支持public關(guān)鍵字,如果aidl創(chuàng)建得沒有問題,就會在gen目錄下生成一個IService.java

5.修改Service的代碼,讓MyBinder繼承Stub

2、遠程調(diào)用服務(wù)的應(yīng)用

1.通過隱式意圖以及bindService的方式開啟遠程服務(wù)

2.創(chuàng)建ServiceConnection的實現(xiàn)類

3.在當(dāng)前應(yīng)用中創(chuàng)建一個目錄,目錄結(jié)構(gòu)要跟提供遠程服務(wù)的應(yīng)用的aidl文件所在目錄結(jié)構(gòu)保持一致,把aidl文件拷貝過來,如果沒有問題,會在gen目錄下生成一個IService.java文件,包名跟aidl文件的包名一致

4.在onServiceConnected方法中,通過Stub.asInterface(service)把當(dāng)前的IBinder對象轉(zhuǎn)化成遠程服務(wù)中的接口類型,最終通過這個對象實現(xiàn)調(diào)用遠程方法



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

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

  • Jianwei's blog 首頁 分類 關(guān)于 歸檔 標簽 巧用Android多進程,微信,微博等主流App都在用...
    justCode_閱讀 6,120評論 1 23
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • 一、IPC簡介 (1)IPC是Inter-Process Communication的縮寫,含義為進程間通信或者跨...
    遙遙的遠方閱讀 7,334評論 0 3
  • 【Android Service】 Service 簡介(★★★) 很多情況下,一些與用戶很少需要產(chǎn)生交互的應(yīng)用程...
    Rtia閱讀 3,237評論 1 21
  • 2.1 Activity 2.1.1 Activity的生命周期全面分析 典型情況下的生命周期:在用戶參與的情況下...
    AndroidMaster閱讀 3,281評論 0 8

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