首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AllJoyn中的BUS_BLOCKING_CALL_NOT_ALLOWED错误

AllJoyn中的BUS_BLOCKING_CALL_NOT_ALLOWED错误
EN

Stack Overflow用户
提问于 2012-11-13 19:00:04
回答 1查看 658关注 0票数 4

我正尝试在我的应用程序中使用AllJoyn,但是当我尝试使用示例中的代码(sample 13)时,我无法加入会话并获得错误BUS_BLOCKING_CALL_NOT_ALLOWED。

代码语言:javascript
复制
    bus.registerBusListener(new BusListener() {
        @Override
        public void foundAdvertisedName(String name,
                                        short transport,
                                        String namePrefix) {
            short contactPort = CONTACT_PORT;
            SessionOpts sessionOpts = new SessionOpts();
            Mutable.IntegerValue sessionId = new Mutable.IntegerValue();

            Status status = bus.joinSession("com.my.well.known.name", //here's error: status = BUS_BLOCKING_CALL_NOT_ALLOWED 
                    contactPort,
                    sessionId,
                    sessionOpts,
                    new SessionListener());
            bus.cancelAdvertiseName("com.my.well.known.name",SessionOpts.TRANSPORT_ANY);
        }
    });

这段代码来自示例,我不知道它出了什么问题。你能帮帮我吗?

如有必要,以下是完整代码:http://pastebin.com/f1sD7RtK

我正在尝试创建新通道并自动连接到它,而不需要用户的参与。

此外,我将非常感谢任何好的建议或样品。

EN

回答 1

Stack Overflow用户

发布于 2012-11-15 04:24:06

在foundAdvertisedName方法中调用bus.joinSession(...)之前,请尝试调用bus.enableConcurrentCallbacks()

这将允许AllJoyn在当前回调foundAdvertisedName仍在执行时调度一个额外的回调。这是一个解释正在发生的事情的link to the documentation

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13359560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档