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了

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值