Android AIDL线程通信之Service回调客户端Activity

本文介绍了如何在Android中使用AIDL实现Service回调客户端Activity。当Service需要在多个操作后返回不同数据时,直接通过方法返回值不适用。文章通过创建两个AIDL文件并实现Service代码,展示了Service如何回调客户端的方法。
摘要由CSDN通过智能技术生成

之前写了一篇 Android下使用AIDL进行通信 的文章,仅仅是客户端访问远程service,并且返回数据,这种通过调用service方法,并且由方法返回数据,在很多情况下是不太合适的,比如我需要在service中的方法进行很多操作,而且不同的操作会产生不一样的数据,并且这些数据都是需要返回给客户端的,那么仅仅通过方法返回值来返回数据时远远不够的。那么今天我们就继续来研究如何通过service来回调客户端中的方法。

那么首先需要定义两个AIDL的文件,文件如下:

RemoteService.aidl

package cn.com.aidl.service;
import cn.com.aidl.service.RemoteServiceCallBack;
interface RemoteService{
	void pay(in int a,in int b);
	void registerCallback(RemoteServiceCallBack callBack);
	void unregisterCallback(RemoteServiceCallBack callBack); 
}
RemoteServiceCallBack.aidl

interface RemoteServiceCallBack{
	void callClientActivity(in int c);
}
那么定义好了这两个AIDL文件,我们首先需要知道, RemoteService是在服务端实现的,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值