2015-04-06 71 views
0

有人可以告訴我如何使用Smack 4.1.0 rc1在muc中接收消息嗎?smack使用4.1.0 rc1接收消息muc使用4.1.0 rc1

我可以使用下面的代碼發送消息。

Message message = new Message(); 
     message.setType(Message.Type.groupchat); 
     message.setBody(strMessage); 
     message.setTo(roomJid); 
multiUserChat.sendMessage(message); 

我正在使用下面的代碼,但無法獲取消息。

multiUserChat = multiUserChatManager.getMultiUserChat(roomJid); 
    multiUserChat.addMessageListener(new MessageListener() { 
     @Override 
     public void processMessage(Message message) { 
      Log.i(Constant.TAG, "processMessage"); 
     } 
    }); 

我調試上,我可以看到該應用程序正在接收消息(d/SMACK(6098):RECV(1): ),但聽者是沒有得到所謂的

+0

你讀過Smack的MUC文檔嗎? – Flow 2015-04-06 11:31:00

+0

@流暢 我已經檢查過它,但是我沒有找到它。 https://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/muc.html – Hitendra 2015-04-06 11:34:55

+0

@Hitendra您找到解決方案嗎?此刻我已經有這個問題了。 – 2016-06-20 15:36:52

回答

0

在將消息監聽器添加到muc之前,發送狀態/連接到muc。

然後你會聽到muc消息。

沒有發送狀態或連接到muc,您不能將消息放入偵聽器,但可以在logcat中看到。

+0

我已經使用addSyncPacketListener,我能夠做到這一點。 我會嘗試你的建議,讓你知道。 – Hitendra 2015-04-08 13:56:06