使用 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 接收群组消息

Smack:ReconnectionManager 在重新连接时发送重复的登录请求

Smack 4.1 SASL 身份验证错误

如何使用 Smack 4.1 创建、发送和接收 IQ 数据包

asmack/Smack 4.1 on android 设置

如何从 Smack 4.1 创建帐户