2016-01-23 136 views
0

我已经安装了tigase7.0.2以及基本配置。MUC房间锁定默认安装tigase

现在我执行使用安装服务器下面的代码MUC:

创建

MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(connection); 
MultiUserChat muc = MainActivity.manager.getMultiUserChat("[email protected]" + connection.getServiceName()); 

空间加入

muc = MainActivity.manager.getMultiUserChat("[email protected]" + connection.getServiceName()); 
    muc.join(connection.getUser().split("@")[0]); 
    muc.addMessageListener(new MessageListener() { 
    @Override 
    public void processMessage(final Message message) { 
      runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
      Toast.makeText(UserListActivity.this, message.getFrom() + ":" + message.getBody(), Toast.LENGTH_SHORT).show(); 
    } 
     }); 
    } 
    }); 

当我加入房以下消息出现在吐司。

: Room is locked. Please configure. 
: Welcome! You created new Multi User Chat Room. Room is locked now. Configure it please! 

当我加入会议室时,会在日志中给出以下错误。

回答

0

当您第一次创建MUC房间时,它会“锁定”,直到您对其进行配置。有两种配置房间的方法:接受默认配置(称为“即时”房间),或者指定所需的配置。

创建即时室中section 10.1.2 of XEP-0045描述:

<iq from='[email protected]/desktop' 
    id='create1' 
    to='[email protected]' 
    type='set'> 
    <query xmlns='http://jabber.org/protocol/muc#owner'> 
    <x xmlns='jabber:x:data' type='submit'/> 
    </query> 
</iq> 

即,发送IQ消息set类型,包含在MUC所有者命名空间的query元件,只包含一个形式“提交” 。这也在this answer中提及。

要使用房间的特定配置,请参见section 10.1.3 of XEP-0045。首先请求配置表单找出哪些选项是支持的,然后用你需要的设置填写它。 This answer描述了如何创建一个公开且持久的房间。