我使用asmack(一个smack的android端口为Android编写了一个XMPP聊天客户端(Google Talk)。
我用它在gmail聊天中与用户聊天。从我的客户端发送的消息得到完美传递。但只收到一些从gmail发送的聊天消息。 当文本被输入到Gmail中的聊天框中时(在按下回车键之前),我收到消息。这些消息始终具有NULL主体。我假设这些空包对应于“打字...”消息。 然而,即使发送了实际的文本消息(按下回车键),消息也不总是被传递。我仍然得到一个NULL主体。我正在实现像我这样的MessageListener
public void processMessage(Chat arg0, final Message message) {
System.out.println(message.getType());
if(message.getBody()!=null) {
//do stuff
}
System.out.println("message body: "+ message.getBody());
}
我也碰巧注意到,如果在短时间内发送了多条消息,那么它们被传递的可能性(非空消息体)就会更高。
有没有人遇到过类似的问题?任何帮助将不胜感激。