3

我使用asmack为 android 编写了 XMPP 聊天客户端(Google Talk) ,这是smack的 android 端口。

我正在使用它在 gmail 中与用户聊天。从我的客户发送的消息可以完美传递。但是只接收到一些从 gmail 发送的聊天消息。在 gmail 的聊天框中输入文本时(在按下回车键之前),我收到了消息。这些消息始终具有 NULL 正文。我假设这些空数据包对应于“Typing..”消息。然而,即使发送了实际的文本消息(按下回车键),消息并不总是被传递。我仍然得到一个 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());

}

我还碰巧注意到,如果在短时间内发送多条消息,它们被传递的可能性(非空消息体)会更高。

有没有人遇到过类似的问题?任何帮助将非常感激。

4

0 回答 0