android Service使用AIDL來操作服務

  上一篇博客,簡單介紹了Service的使用和生命週期 點擊此處前往 此篇簡單介紹AIDL操作Service,比如想在Activity中操作Service的start和stop方法

1.在此,我不在重複上一篇所講的Service的使用,在main上右鍵,選擇New/AIDL/AIDL File

這裏寫圖片描述

  點擊AIDL File出現一下界面

這裏寫圖片描述

  在interface Name 可以隨便命名,點擊完成,會看到在main,多出了一個目錄和文件,如下圖,當然此文件也可以手動創建,這裏不在講述

這裏寫圖片描述

  點擊IMyAidlInterface.aidl文件,可以看到實際上裏面就定義了一個接口,有一個方法,直接刪除裏面的方法,寫入自己想實現的方法,比如也創建跟Service同名void start(), void stop()等

這裏寫圖片描述

  先build一下功能,生成對應的文件,內部類,可以調用外部類的所有方法和屬性,在Service類中創建一個IMyAidlInterface的內部實現類,並實現該接口的所有的方法,在內部類中,獲取外部類的實例,可以調用Service類所有的方法和屬性了

這裏寫圖片描述

  在Service中的onBind方法,返回當前的IMyAidlInterface的實例

這裏寫圖片描述

  在啓動者的ServiceConnection的實現類的onServiceConnected回調方法中獲取IMyAidlInterface的實例

這裏寫圖片描述

  在此就可以操作Service了

這裏寫圖片描述

發佈了30 篇原創文章 · 獲贊 9 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章