2015-04-06 68 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