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

时间:2019-07-18 13:10:45

标签: android xmpp

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

在此先感谢您,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

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

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

用户发送错误消息

<message to='juliet@capulet.net/balcony' id='bad1'>
  <body>But soft, what light through yonder airlock breaks?</body>
</message>

用户更正消息并发送¶

<message to='juliet@capulet.net/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]中指定的实体功能配置文件。

要检查您的客户端是否支持删除邮件,请发送以下查询:

  http://jabber.org/protocol/disco#info'/>

如果响应包含以下 'urn:xmpp:message-delete:0' ,则它支持,您可以通过以下代码删除消息:

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

<message to='room@muc.example.com' id='remove1'>
  <remove id='bad1' xmlns='urn:xmpp:message-delete:0'/>
</message>

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