android中smack的消息节中缺少自定义属性
Posted
技术标签:
【中文标题】android中smack的消息节中缺少自定义属性【英文标题】:Missing custom Attribute in message Stanza in smack in android 【发布时间】:2016-10-27 09:06:27 【问题描述】:我在 smack 消息节中缺少一些自定义属性,例如示例
本节是服务器发送:
<message to='me' from='someone' id='18' xml:lang='en' type='chat'><body>X</body><thread>7067c261-1987-429e-89c0-ced23cf3514b</thread><mycustomtag xmlns='urn:xmpp:mycustomtag' mid='18' deptID='3' visitorName='me' csId='someid'/></message>
但是我得到了 mycustomtag 属性,就像我得到的消息节一样
<message to='me' from='someone' id='18' xml:lang='en' type='chat'><body>X</body><thread>7067c261-1987-429e-89c0-ced23cf3514b</thread><mycustomtag xmlns='urn:xmpp:mycustomtag' /></message>
这是我在日志中得到的内容。请有人帮助我。
这是消息节的接收者:
chatmanager.addChatListener(new ChatManagerListener()
@Override
public void chatCreated(Chat chat, boolean createdLocally)
chat.addMessageListener(new ChatMessageListener()
@Override
public void processMessage(Chat chat, final Message message)
【问题讨论】:
请添加您的代码以拦截和解析您的标签 这是我正在使用的消息接收代码:chatmanager.addChatListener(new ChatManagerListener() @Override public void chatCreated(Chat chat, boolean createdLocally) chat.addMessageListener(new ChatMessageListener() Override public void processMessage(Chat chat, final Message message) 哪个服务器?开火? 这些日志。这些是来自 smack 库还是您登录的 processMessage? 【参考方案1】:本质上,如果您不在服务器中管理扩展元素,当它找到一个只是复制结构时,作为回复的客户端只会找到标签。
您必须验证服务器中的数据(在您的情况下,还要复制属性和文本)。如果你使用 Openfire,我做了一份简历。
Mapping Openfire Custom plugin with aSmack Client
【讨论】:
以上是关于android中smack的消息节中缺少自定义属性的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Smack 4.1 中的 XMPP 消息标签中添加自定义属性(昵称)
Openfire:在android上使用smack向特定人广播消息