Android AllJoyn总线阻塞异常
我正在尝试在Android上使用AllJoyn进行设备发现工作。根据示例应用程序,我能够获得foundAdvertisedName的回调,并能够加入会话。但是当调用proxyBusObject上的任何方法时,它会引发WS-BusBlocked异常。通过使用信号发射器,总线信号正常工作Android AllJoyn总线阻塞异常,android,alljoyn,Android,Alljoyn,我正在尝试在Android上使用AllJoyn进行设备发现工作。根据示例应用程序,我能够获得foundAdvertisedName的回调,并能够加入会话。但是当调用proxyBusObject上的任何方法时,它会引发WS-BusBlocked异常。通过使用信号发射器,总线信号正常工作 mBus = new BusAttachment(context.getPackageName(), BusAttachment.RemoteMessage.Receive); mBus.enableConcurr
mBus = new BusAttachment(context.getPackageName(), BusAttachment.RemoteMessage.Receive);
mBus.enableConcurrentCallbacks();
status = mBus.connect();
if (Status.OK != status) {
return;
} else {
busAttachmentState = BusAttachmentState.CONNECTED;
}
mBus.registerBusListener(new BusListener() {
@Override
public void foundAdvertisedName(String name,
short transport,
String namePrefix) {
mBus.enableConcurrentCallbacks();
short contactPort = CONTACT_PORT;
SessionOpts sessionOpts = new SessionOpts();
sessionOpts.traffic = SessionOpts.TRAFFIC_MESSAGES;
sessionOpts.isMultipoint = false;
sessionOpts.proximity = SessionOpts.PROXIMITY_ANY;
sessionOpts.transports = SessionOpts.TRANSPORT_ANY;
Mutable.IntegerValue sessionId = new Mutable.IntegerValue();
Status status = mBus.joinSession(name,
contactPort,
sessionId,
sessionOpts,
new SessionListener());
mProxyObj = mBus.getProxyBusObject("com.my.well.known.name",
"/MyService",
sessionId.value,
new Class[] { SampleInterface.class });
mSampleInterface = mProxyObj.getInterface(SampleInterface.class);
mSampleInterface.Test(); // BusMethod call throws exception every time
});
我也尝试在单独的线程上调用busMethod,但得到了相同的错误。有人知道这里可能出了什么问题吗
更新:已编辑代码以添加总线附件创建代码段。请同时添加您实例化busAttachment@Lino更新了代码尝试设置并发级别
mBus=new-BusAttachment(context.getPackageName(),BusAttachment.RemoteMessage.Receive,16)代码>那么foundAdvertisedName
回调是否执行了一次或多次?有意义吗?您试过了吗?请在实例化busAttachment@Lino更新了代码尝试设置并发级别mBus=new-BusAttachment(context.getPackageName(),BusAttachment.RemoteMessage.Receive,16)代码>那么foundAdvertisedName
回调是否执行了一次或多次?有意义吗?你试过了吗?