使用 smack 4.1 登录后如何重新加入群组/房间
Posted
技术标签:
【中文标题】使用 smack 4.1 登录后如何重新加入群组/房间【英文标题】:How to re-join a group/room after login using smack 4.1 【发布时间】:2016-08-26 10:17:32 【问题描述】:这就是我正在做的事情:- 登录后尝试加入群组。
connection.login(userDate.getUserId(), userDate.getUserPassword());
****登录后****
String groupName =
XmppUtils.buildMUCName(results.get(i).getGroupName().trim());
MultiUserChat multiUserChat = managerMuc.getMultiUserChat(groupName);
try
if (!multiUserChat.isJoined())
multiUserChat.join(userId);
catch (SmackException.NoResponseException e)
e.printStackTrace();
catch (XMPPException.XMPPErrorException e)
e.printStackTrace();
catch (SmackException.NotConnectedException e)
e.printStackTrace();
catch (SmackException e)
e.printStackTrace();
【问题讨论】:
此问题已解决 【参考方案1】:public void joinMultiUserChatRoom(String userName, String roomName)
// Get the MultiUserChatManager
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(connection);
// Create a MultiUserChat using an XMPPConnection for a room
MultiUserChat multiUserChat = manager.getMultiUserChat(roomName + "servername");
DiscussionHistory history = new DiscussionHistory();
history.setMaxStanzas(-1);
try
multiUserChat.join(userName+"servername`enter code here`",userName, history, connection.getPacketReplyTimeout());
catch (Exception e)
e.printStackTrace();
【讨论】:
希望我能重新加入房间。试试这个。 重新登录后如何加入100+ MUC?以上是关于使用 smack 4.1 登录后如何重新加入群组/房间的主要内容,如果未能解决你的问题,请参考以下文章
Smack:ReconnectionManager 在重新连接时发送重复的登录请求
如何使用 Smack 4.1 创建、发送和接收 IQ 数据包