有人能告诉我如何使用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): 但是听众没有被称为
答案 0 :(得分:0)
答案 1 :(得分:0)
在将消息监听器添加到muc之前,将presence / join发送到muc。
然后你会收到muc消息给听众。
没有发送状态或加入muc,你无法将消息传入监听器,但你可以在logcat中看到。
答案 2 :(得分:0)
我正在使用节侦听器,并且能够接收MUC消息。
final StanzaListener stanzaListener = new StanzaListener() {
@Override
public void processStanza(Stanza packet) throws SmackException.NotConnectedException, InterruptedException { .. }
xmppConnection.addAsyncStanzaListener(stanzaListener, StanzaTypeFilter.MESSAGE);