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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章