aSmack MUC:重新连接后获取已加入房间的列表

时间:2012-09-05 07:23:59

标签: android xmpp smack asmack

我正在构建一个聊天应用程序,我遇到MultiUserChat类的问题。我使用的库是从谷歌代码下载的。

在XMPP connectoin丢失后,我将自动离开所有已加入的群组

重新连接后我试图使用:

MultiUserChat.getJoinedRooms(xmpp, "1@test.server.com");

所以我可以加入所有连接的房间,但是我得到一个NullPointerException。

任何人都知道如何在我断开连接之前重新加入我所有加入的房间? 我考虑将所有已加入的数据库存储起来,然后在选择它们后重新加入它。还有其他想法吗?

1 个答案:

答案 0 :(得分:2)

卡迈勒是对的。如果您已连接并加入某些MUC实例,则getJoinedRooms()仅返回一个房间列表。我还建议将MUC JID存储到数据库中(或仅存储在内存中),并在重新连接后重新加入房间。 We do the same on GTalkSMS.