上一篇博客,簡單介紹了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了