Android系统Binder跨进程通信,Client,Server互通测试
1.服务端调用客户端实现的方法
多搞一个接口测试用于测试服务端调用客户端的接口
在客户端搞一个实现类,也就是说在客户端这个接口给服务端调用
在服务端设置一个监听接口,就可以使用客户端传递过来的接口实现对象了。
在客户端中传递ICallBack的实现类给服务端
在服务端就可以拿到这个实现类对象
假设我们需要客户端调用了我们的textInOut方法然后回调给客户端信息
void textInOut(inout User info);
我们就可以通过这个mCallBack回调一些信息给客户端通知用户做其他事情
运行一把看看,我们看到我们的客户端收到了来自服务端的回调日志,说明服务端也成功的调用了客户端的方法,。
2.客户端服务端进程间的监听
进程终止死亡,
binderservice之后,客户端是可以感知服务端是否还运行的状态
服务端挂掉了会回调下面这个方法。
@Override
public void onServiceDisconnected(ComponentName componentName) {
Log.e(TAG, "onServiceDisconnected: " + componentName );
}
客户端挂了会走下面的回调
测试一下,故意搞个空指针测试客户端挂掉
输出日志,说明客户端挂掉之后,服务端可以感知。
服务端也是一样的测试方法。