如何在Android中从XMPP编辑和删除特定消息?

问题描述 投票:0回答:1

我正在开发一个 Voip 应用程序,我正在实现 XMPP 聊天功能。我有自己的 jabber 服务器来实现 XMPP 服务,并且我正在使用这个库 https://github.com/siacs/Conversations。在我的安卓应用程序中。该库提供了除删除和编辑消息之外的所有聊天功能。现在我想实现编辑和删除从最终到最终用户的特定消息。该库仅允许编辑最后一条消息。

提前致谢,如有任何帮助,我们将不胜感激。

android xmpp
1个回答
0
投票

我还在我的项目中使用XMPP实现了聊天,这可以帮助你:

https://xmpp.org/extensions/xep-0308.html

用户发送一条错误消息¶

<message to='[email protected]/balcony' id='bad1'>
  <body>But soft, what light through yonder airlock breaks?</body>
</message>

用户更正消息并发送¶

<message to='[email protected]/balcony' id='good1'>
  <body>But soft, what light through yonder window breaks?</body>
  <replace id='bad1' xmlns='urn:xmpp:message-correct:0'/>
</message>

删除:

如果客户端或服务实现消息删除,它必须在其服务发现信息功能中指定 'urn:xmpp:message-delete:0' 功能,如服务发现 (XEP-0030) [2] 和实体功能 (XEP-0115) [3] 中指定的实体功能配置文件。

要检查您的客户端是否支持删除消息,请发送此查询:

<iq type='get'
    from='[email protected]/orchard'
    id='info1'>
  <query xmlns='http://jabber.org/protocol/disco#info'/>
</iq>

如果回复包含此'urn:xmpp:message-delete:0'那么它支持,您可以通过以下代码删除消息:

http://legastero.github.io/customxeps/extensions/message-delete.html

<message to='[email protected]' id='remove1'>
  <remove id='bad1' xmlns='urn:xmpp:message-delete:0'/>
</message>

remove id=
是您要删除的消息的id

© www.soinside.com 2019 - 2024. All rights reserved.