I’m useing smack4.1.1 in android with openfire 3.9.3
I create a Chat with ChatMessageListener
Chat newChat = ChatManager.getInstanceFor(connection).createChat(Jid,new ChatMessageListener() {
@Override
public void processMessage(Chat chat, Message message) {
XMPPLog.v("chat threadID:" + chat.getThreadID());
XMPPLog.v("chat message:" + message.getBody());
}
});
then, I add a global listener
ChatManager.getInstanceFor(connection).addChatListener(new ChatManagerListener() {
@Override
public void chatCreated(Chat chat, boolean createdLocally) {
chat.addMessageListener(new ChatMessageListener() {
@Override
public void processMessage(Chat chat, Message message) { XMPPLog.v("Global chat threadID:" + chat.getThreadID());
XMPPLog.v("Global chat message:" + message.getBody());
}
}
}
});
final,I sent a message and start receive message.
XMPPLog.v("send threadID:" + chat.getThreadID());
newChat.sentMessage("Hello,I'm cpacm");
but,why I can’t receive message in chat’s listener?
this is the log:
send threadID:434d00d5-020d-4c83-a1d9-e9abb3b640c4
Global chat threadID:4foBAP
Global chat message:hello,cpacm
here is XML:
<message to='cpacm2@192.168.0.95' id='SGaK8-30' type='chat'><body>hello,I'm cpacm</body><thread>434d00d5-020d-4c83-a1d9-e9abb3b640c4</thread></message>
<message to='cpacm@192.168.0.95/Smack' from='cpacm2@192.168.0.95/Smack' id='1h8I8-107' type='chat'><body>hello,cpacm</body><thread>4foBAP</thread><x xmlns='jabber:x:event'><composing></composing><offline></offline></x></message>