客户端的aidl代码如下
PosdService.aidl文件:
interface PosdService {
IBinder getPinpad();
}
Pinpad.aidl文件:
interface Pinpad {
int GetSN( out byte[] sn, out int[] sn_len );
}
我这边已经客户端连接了服务端的服务,
PosdService posdService;
private ServiceConnection conn = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
//拿到远程服务
posdService = PosdService.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName name) {
posdService = null;//回收资源
}
};
然后准备获取Pinpad的实例,进行操作
但是PosdService中的getPinpad返回的是IBinder对象,不能直接使用
我是应该进行强转
Pinpad pinpad = (Pinpad) posdService.getPinpad();
还是应该怎么操作,求指导