我正在开发一个 Voip 应用程序,我正在实现 XMPP 聊天功能。我有自己的 jabber 服务器来实现 XMPP 服务,并且我正在使用这个库 https://github.com/siacs/Conversations。在我的安卓应用程序中。该库提供了除删除和编辑消息之外的所有聊天功能。现在我想实现编辑和删除从最终到最终用户的特定消息。该库仅允许编辑最后一条消息。
提前致谢,如有任何帮助,我们将不胜感激。
我还在我的项目中使用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