与Service实现双向通信(三)
这是系列文章《与Service实现双向通信》的第三篇,也是完结篇。通过前两篇介绍,我们基本已经实现了Client到Service的调用了。但是Service怎么反过来调用到我们的Client端呢?
我们接着上篇的例子,我们希望能够实现,当有用户加入(join())或者离开(leave())的时候,能够通知客户端。
实现方法是,客户端注册一个回调到Service中,当Service有用户加入或者离开的时候,就调用此回调。因为普通的interface
对象不能通过AIDL注册到Service中,我们需要定义一个AIDL接口,如下:
// IParticipateCallback.aidl
package com.race604.servicelib;
interface IParticipateCallback {
// 用户加入或者离开的回调
void onParticipate(String name, boolean joinOrLeave);
}