Xmpp smack使用4.1.0 rc1在muc中接收消息

Xmpp smack使用4.1.0 rc1在muc中接收消息,xmpp,smack,Xmpp,Smack,有人能告诉我如何使用Smack 4.1.0 rc1在muc中接收消息吗 我能用下面的代码发送信息 Message message = new Message(); message.setType(Message.Type.groupchat); message.setBody(strMessage); message.setTo(roomJid); multiUserChat.sendMessage(message); 我正在使用下面的代码,但

有人能告诉我如何使用Smack 4.1.0 rc1在muc中接收消息吗

我能用下面的代码发送信息

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:
但是,侦听器没有被调用。

在将消息侦听器添加到muc之前,将状态/加入发送到muc

然后,您将把muc消息输入到侦听器中


如果不向muc发送状态或加入,则无法将消息发送到侦听器中,但可以在logcat中看到。

我使用的是节侦听器,可以接收muc消息

 final  StanzaListener stanzaListener = new StanzaListener() {
        @Override
        public void processStanza(Stanza packet) throws SmackException.NotConnectedException, InterruptedException {  .. }


xmppConnection.addAsyncStanzaListener(stanzaListener, StanzaTypeFilter.MESSAGE);

你看过Smack的MUC文档了吗?@Flow我已经看过了,但没找到@Hitendra你找到解决办法了吗?我现在已经有这个问题了。有没有人有同样的问题?我已经使用了addSyncPacketListener,我能够做到。我会试试你的建议,然后告诉你。