-2
我已经使用聊天管理器进行一对一聊天,但是我怎样才能在smack版本4.1.9中进行群聊。OpenFire Xmpp群聊
MultiUserChatManager在smack版本4.1.9中不公开,我该如何使用MultiUserChatManager进行群聊。
我已经使用聊天管理器进行一对一聊天,但是我怎样才能在smack版本4.1.9中进行群聊。OpenFire Xmpp群聊
MultiUserChatManager在smack版本4.1.9中不公开,我该如何使用MultiUserChatManager进行群聊。
它不是在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);
协议规范关于multiuserchat它没有改变。 https://xmpp.org/extensions/xep-0045.html所以你的代码只能在非常单一的情况下工作(加入已经存在的没有密码的MUC)。更多的,MultiUserChat对象允许刚刚发送带有String主体的消息,而无需像以前那样配置新消息 – MrPk
嗨,有吨的约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