2012-09-05 87 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()時,我得到一個空指針異常。 –

相關問題