首页 > 代码库 > 【学习笔记】AIDL跨应用Service运用
【学习笔记】AIDL跨应用Service运用
AIDL:应用程序接口定义语言
注:每当创建或修改AIDL文件后,都需要执行Build->Rebuild Project操作来生效
一、通过一个App控制另一个App的Service
在要调用的App的MainActivity里用intent设置一个部件,参数是部件名字,一个是被调用的包名,一个是被调用的服务类名
然后在要调用的App的MainActivity里用startService和stopService即可控制另一个程序的Service
二、通过一个App绑定另一个App的Service
在上面一的基础上,在被调用的App里新建一个AIDL文件
在被调用服务类里重新onBind方法,返回值实现了刚才新建的AIDL文件产生的接口的方法
在调用的MainActivity里,同之前学习的Service通信,用bindService和unbindService方法来实现,当然还要实现onServiceConnected和onServiceDisconnected两个方法,可以看我之前的博客
三、同步数据到绑定的Service中
1)在AIDL创建的接口中再写一个方法setData,在MyService中实现
2)在调用的App里需要创建和被调用的AIDL文件一样的文件
3)在调用的App的MainActivity种创建一个AIDL文件的类的binder
IAppServiceRemoteBinder binder=null;
4)在onServiceConnected方法中将binder与service联系起来
用binder.setData方法将数据传入binder完成通信
binder.setData(edt.getText().toString());
【学习笔记】AIDL跨应用Service运用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。