发送的XMPP
消息在消息标记中添加了一些自定义属性,如:
<message to = " asdf" from = "asdf" type = "chat" id="adsf" direction = "asdf" speed = "asdf">
<body>Speed</body>
</message>
正在发送的消息都很好。但是在收到结束时,我不知道如何阅读这些额外的属性,即在消息标记中添加 direction and speed
。我尝试自定义 PacketListener
,但为此我需要更改整个smack库bcz,每个类都连接到其他类。
答案 0 :(得分:0)
你不能。
永远不要将自定义值添加到指定的流元素属性(例如,消息的type属性的新值),并且永远不要将新属性添加到顶级元素(就像您使用msgType
所做的那样,{{ 1}}等等。
这有可能打破局面!不要这样做。另见"XEP-0134: XMPP Design Guidelines § 2.1 XMPP is Sacred"。这就是Smack无法实现的原因。相反,使用自定义扩展元素,如xnyhps在其示例中显示的(msgTimeStamp
元素)。另请参阅"RFC 6120 § 8.4 Extended Content"这些在Smack中称为PacketExtension。
另见this answer和问题。