की त्रुटि देता है मैंने दो अलग सेंसर के लिए आवेदन विकसित किया है। वे अलग-अलग काम कर रहे हैं लेकिन जब मैं उन्हें टॉगर का उपयोग करने की कोशिश करता हूं और ऑलॉयन की तुलना में दो अलग-अलग बसें बनाता हूं तो यह अपवाद देता है।एंड्रॉइड ऑलजॉयन: दूसरी मशीन के साथ कनेक्शन BusAttachement
org.alljoyn.services.common.BusAlreadyExistException: वस्तु एक BusAttachment साथ पहले से निर्धारित किया गया है।
नीचे कनेक्शन के लिए मेरा स्रोत कोड है। क्या कोई मुझे बता सकता है कि मुझे यह समस्या क्यों है।
private void connect()
{ org.alljoyn.bus.alljoyn.DaemonInit.PrepareDaemon(getApplicationContext());
bus = new BusAttachment("ControlPanelBrowser", BusAttachment.RemoteMessage.Receive);
bus.registerBusListener(new BusListener());
Status status = bus.registerBusObject(mControlPanelSignalInterface, Constants.SERVICE_PATH);
if (status != Status.OK) {
Log.d(TAG, "Problem while registering bus object");
}
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
srpPassword = settings.getString(PREFS_PASSWORD, DEFAULT_SECURED_SRP_PASSWORD);
SrpAnonymousKeyListener authListener = new SrpAnonymousKeyListener(this, logger, AUTH_MECHANISMS);
Status authStatus = bus.registerAuthListener(authListener.getAuthMechanismsAsString(),
authListener, getKeyStoreFileName());
if (authStatus != Status.OK) {
Log.e(TAG, "Failed to register AuthListener");
}
status = bus.connect();
if (Status.OK == status){
String daemonName = Constants.DAEMON_NAME_PREFIX + ".ControlPanelBrowser.G" +
bus.getGlobalGUIDString();
int flag = BusAttachment.ALLJOYN_REQUESTNAME_FLAG_DO_NOT_QUEUE;
Status reqStatus = bus.requestName(daemonName, flag);
if (reqStatus == Status.OK) {
Status adStatus = bus.advertiseName(Constants.DAEMON_QUIET_PREFIX +
daemonName, SessionOpts.TRANSPORT_ANY);
if (adStatus != Status.OK){
bus.releaseName(daemonName);
Log.e(TAG, "Failed to advertise daemon name: '" + daemonName + "', Error: '" + status + "'");
}
else{
Log.d(TAG, "Succefully advertised daemon name: '" + daemonName + "'");
}
}
else {
Log.e(TAG, "Failed to request daemon name: '" + daemonName + "', Error: '" + status + "'");
}
}
status = bus.registerSignalHandlers(mControlPanelSignalInterface);
if (status != Status.OK) {
Log.d(TAG, "Problem while registering signal handlers");
}
// Initialize AboutService
aboutClient = AboutServiceImpl.getInstance();
aboutClient.setLogger(logger);
try {
aboutClient.startAboutClient(bus);
for (String iface : ANNOUNCE_IFACES) {
aboutClient.addAnnouncementHandler(this, new String[] {iface});
}
} catch (Exception e) {
logger.error(TAG, "Unable to start AboutService, Error: " + e.getMessage());
}
}
आप बुलाना चाहिए का समाधान करना चाहिए inplements बनाने 'registerBusObject के लिए 'दो बार (प्रत्येक सेंसर के लिए एक बार) और केवल एक एकल बस अनुलग्नक बनाना – Lino
मैंने इस bu की कोशिश की थी टी सफलता नहीं है। अब मैं दो अलग-अलग बसों में दो अलग-अलग बस एटैचमेंट ऑब्जेक्ट बना रहा हूं लेकिन एक ही त्रुटि हो रही है। अब मैं इस मुद्दे को कैसे हल कर सकता हूं? –
वह पंक्ति है जो 'BusAlreadyExistException' फेंकता है? – Lino