MessageListener未收到完整消息ASMACK Android

MessageListener未收到完整消息ASMACK Android,android,asmack,message-listener,Android,Asmack,Message Listener,当我想接收消息时遇到问题,现在我可以接收消息,但缺少一些属性 class MyMessageListener implements MessageListener { @Override public void processMessage(Chat chat, Message message) { Util.DebugLog("message->"+message.toXmlns()); } } 我得到的是 <messag

当我想接收消息时遇到问题,现在我可以接收消息,但缺少一些属性

    class MyMessageListener implements MessageListener {

    @Override
    public void processMessage(Chat chat, Message message) {
        Util.DebugLog("message->"+message.toXmlns());

    }

}
我得到的是

  <message to="2@buzoo.biz" type="chat" from="1@buzoo.biz/ff3b2485"><body asdf="asdf">aaa</body></message>
aaa
消息中缺少聊天id和聊天类型

这是我收到信息时想要的

  <message to="2@buzoo.biz" type="chat" talk_id="304" chat_type="0" from="1@buzoo.biz/ff3b2485"><body asdf="asdf">aaa</body></message>
aaa

虽然XMPP并不严格禁止通过向预定义元素添加自定义属性来扩展节(
message
在您的情况下),但最好将自定义数据作为额外元素添加。这就是大多数XMPP扩展的设计方式

所以不是

<message to="foo@bar.com" type="chat" myCustomData="myValue"><body>Hello!</body><message>
你好!
你有

<message to="foo@bar.com" type="chat"><body>Hello!</body><myExtension myCustomData="myValue"/></message>
你好!

然后,您只需为
myExtension
编写一个提供程序,并将其注册到Smack的
ProviderManager

,但ios和web可以在不丢失某些属性的情况下接收该消息。那我该怎么办呢?我真的被它卡住了。把你的自定义数据放在
下的一个元素中,你就可以检索数据了。