在 Android Smack 4.2 的消息节点中添加自定义标签

Posted

技术标签:

【中文标题】在 Android Smack 4.2 的消息节点中添加自定义标签【英文标题】:Adding custom tag in message node in Android Smack 4.2 【发布时间】:2017-12-07 13:04:49 【问题描述】:

我已经在我的 android 应用中实现了Smack 进行一对一聊天。

现在我有一个要求以以下格式发送消息:

<message id="783475-35345-35-345-353" from="xyz@x.com" type="chat" to="abc@x.com" nick="james"><body>Hello</body></message>

但到目前为止,我的消息如下所示:

<message id="783475-35345-35-345-353" from="xyz@x.com" type="chat" to="abc@x.com" ><body>Hello</body></message>

下面是我的代码:

Message message = new Message();
message.setStanzaId(UUID.randomUUID().toString()); 
message.setType(Message.Type.chat);
message.setBody(textToSend.getText().toString());
message.setTo(chat.getXmppAddressOfChatPartner());
message.setFrom(ownJid);

我找不到在“消息”节点中添加自定义标签“nick”的方法。有人可以帮助我吗?我尝试了 Smack 提供的扩展,但它们都在现有节点中添加了一个额外的节点,但没有添加标签。

【问题讨论】:

【参考方案1】:

我不建议使用自定义***节属性。 Smack 不支持它。 https://github.com/igniterealtime/Smack/pull/69 有一个不完整的 PR,会增加支持的想法。

【讨论】:

您好,感谢您的回复.. 我正在检查.. 同时,您能否添加示例代码以使用您的 PR 在消息中添加自定义属性。

以上是关于在 Android Smack 4.2 的消息节点中添加自定义标签的主要内容,如果未能解决你的问题,请参考以下文章

Android Smack 4.2:“XMPPError: feature-not-implemented - cancel”(错误)

在与 Smack 4.2 重新连接后发送离线消息时,经过身份验证的侦听器出现异常

Openfire:在android上使用smack向特定人广播消息

在 Android Studio 上使用 Smack 构建 XML 流消息

我们如何在 smack 或来自 android 的 xmpp 中获得对发件人的消息读取/看到确认

使用 Smack Api for Android 发送和接收消息