说明:
AIDL可以实现跨进程通讯,2个应用之间可以建立连接管道,并传递参数,连通期间可实现实时调用实时返回的功能,例如:三方应用调用支付应用提供的接口发起支付,支付应用完成支付后,使用三方应用的对象引用直接回调到三方应用,将支付结果返回给三方处理。
使用:
远程服务端(A应用):
public class PaymentService extends Service {
private static IPayObserver mObserver;
@Override
public IBinder onBind(Intent intent) {
return mPayService;
}
// IPayService.aidl实现
private IPayService.Stub mPayService = new IPayService.Stub() {
public void pay(String queryString, IPayObserver observer) throws RemoteException {
payTask(queryString, observer);
}
};
// 支付任务
private synchronized void payTask(String queryString, IPay