温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

【学习笔记】AIDL跨应用Service运用

发布时间:2020-07-04 01:55:17 来源:网络 阅读:342 作者:wx57a1620925627 栏目:软件技术

AIDL:应用程序接口定义语言

注:每当创建或修改AIDL文件后,都需要执行Build->Rebuild Project操作来生效


一、通过一个App控制另一个App的Service

在要调用的App的MainActivity里用intent设置一个部件,参数是部件名字,一个是被调用的包名,一个是被调用的服务类名

【学习笔记】AIDL跨应用Service运用然后在要调用的App的MainActivity里用startService和stopService即可控制另一个程序的Service

【学习笔记】AIDL跨应用Service运用


二、通过一个App绑定另一个App的Service

在上面一的基础上,在被调用的App里新建一个AIDL文件

【学习笔记】AIDL跨应用Service运用

在被调用服务类里重新onBind方法,返回值实现了刚才新建的AIDL文件产生的接口的方法

【学习笔记】AIDL跨应用Service运用

在调用的MainActivity里,同之前学习的Service通信,用bindService和unbindService方法来实现,当然还要实现onServiceConnected和onServiceDisconnected两个方法,可以看我之前的博客

【学习笔记】AIDL跨应用Service运用


三、同步数据到绑定的Service中

1)在AIDL创建的接口中再写一个方法setData,在MyService中实现

【学习笔记】AIDL跨应用Service运用

2)在调用的App里需要创建和被调用的AIDL文件一样的文件

【学习笔记】AIDL跨应用Service运用

3)在调用的App的MainActivity种创建一个AIDL文件的类的binder

IAppServiceRemoteBinder binder=null;

4)在onServiceConnected方法中将binder与service联系起来

【学习笔记】AIDL跨应用Service运用

用binder.setData方法将数据传入binder完成通信

binder.setData(edt.getText().toString());


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI