2017-02-23 142 views
-2

我已经使用聊天管理器进行一对一聊天,但是我怎样才能在smack版本4.1.9中进行群聊。OpenFire Xmpp群聊

MultiUserChatManager在smack版本4.1.9中不公开,我该如何使用MultiUserChatManager进行群聊。

+0

嗨,有吨的约groupchats问题。如果你的方法只是阅读代码,一定要阅读javadoc。从官方基础教程开始:http://download.igniterealtime.org/smack/docs/latest/documentation/extensions/muc.html。然后随意继续与Stackoverflow与http://stackoverflow.com/questions/41140681/和http://stackoverflow.com/questions/37875539 ​​ – MrPk

回答

-1

它不是在4.1.9版本的工作,你可以试试这个:

public MultiUserChat mMultiUserChat; 
private MultiUserChatManager mMultiUserChatManager; 

mMultiUserChatManager = MultiUserChatManager.getInstanceFor(mAbstractXMPPConnection); 
mMultiUserChatManager.addInvitationListener(this); 

mMultiUserChat = mMultiUserChatManager.getMultiUserChat(room); 
mMultiUserChat.addMessageListener(this); 

try { 
    mMultiUserChat.join(yournickname); 

    // mMultiUserChat.sendConfigurationForm(new Form(DataForm.Type.submit)); 

} catch (SmackException.NoResponseException e) { 
    e.printStackTrace(); 
} catch (XMPPException.XMPPErrorException e) { 
    e.printStackTrace(); 
} catch (SmackException.NotConnectedException e) { 
    e.printStackTrace(); 
} 

和发送消息:

Message msg = new Message(room, Message.Type.groupchat); 
msg.setBody(message); 
mMultiUserChat.sendMessage(msg); 
+0

协议规范关于multiuserchat它没有改变。 https://xmpp.org/extensions/xep-0045.html所以你的代码只能在非常单一的情况下工作(加入已经存在的没有密码的MUC)。更多的,MultiUserChat对象允许刚刚发送带有String主体的消息,而无需像以前那样配置新消息 – MrPk

相关问题