2012-09-05 45 views
1

我正在构建一个聊天应用程序,并且遇到了MultiUserChat类问题。我正在使用的图书馆是从谷歌代码下载的。aSmack MUC:重新连接后获取加入房间的列表

的XMPP connectoin丢失后,我会自动离开我所有的加入团体

重新连接我想使用后:

MultiUserChat.getJoinedRooms(xmpp, "[email protected]"); 

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

任何人有一个想法如何在我断开连接之前重新连接所有加入的房间? 我想过将所有加入的数据库存储起来,然后在选择它们后重新加入。任何其他想法?

+1

你必须将它们保存在数据库中,并重新加入它们。 – Kamal

+0

是的,我想过,猜我没有别的选择......无论如何感谢 – user987760

回答

2

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

+2

除了存储房间名称在数据库之外,我还有其他选择吗?在我的应用程序中,我想向用户展示他加入的所有房间,但是当我调用getJoinedRooms()时,我得到一个空指针异常。 –

相关问题