我们如何从 xmpp 服务器将存档消息访问到 android 应用程序

Posted

技术标签:

【中文标题】我们如何从 xmpp 服务器将存档消息访问到 android 应用程序【英文标题】:How can we access archive messages into android application from xmpp server 【发布时间】:2011-07-26 12:42:48 【问题描述】:

我在 xmpp.org 网站上进行了简要概述,并阅读了与消息归档(XEP-0136 协议)相关的所有内容。在阅读了所有文档之后,我仍然没有得到确切的方法来开始在我的 android 应用程序中实现这些东西。 这里的任何人都可以帮助我,我们如何实现,在客户端访问消息存档。我在我的应用程序中为此使用了 smack 库。

【问题讨论】:

这些天你可能想使用 XEP-0313,而不是 XEP-0136。 【参考方案1】:

首先,确保您的服务器实现XEP-0136。许多人没有。

接下来,您需要创建自己的 IQ 子类。有关示例,请参阅OfflineMessageRequest。归档协议的所有子元素都需要 getter 和 setter。

最后,向ProviderManager.addIQProvider 注册您的 IQ 处理程序。

最后,编写一个控制器类来发送 IQ、等待结果并处理协议的语义。请参阅 OfflineMessageManager 以获取与您想要的类似的 XEP-0013 示例。

【讨论】:

真的很感谢 Joe.. 你的回复对我很有帮助,我们已经在我们的服务器上相应地实施了 XEP-0136。现在,我将尝试按照您在客户端向我的 android 应用程序中的建议实现对消息归档的访问。如果您可以参考我任何链接或提供我的代码片段,我将从那里获得在我的代码中实现它的确切逻辑方式,所以这对我来说非常有益。我正在积极寻求您方面的快速和积极的回复......再次感谢您的回复。 你好,乔,我也在按照你的建议进行尝试,但在具体实施中我仍然面临着难题。请你能和我分享一点代码sn-p。我很期待,请帮助我。 @sumeet - 尝试查看此源代码,因为它是一个相当简单的示例 fisheye.igniterealtime.org/browse/smack/trunk/source/org/…。根据您的节解析在您的提供程序中的复杂程度,您可能还想使用 EmbeddedExtensionProvider fisheye.igniterealtime.org/browse/smack/trunk/source/org/… 感谢 Robin 与我分享如此有用的链接。现在我正在阅读它...如果我会遇到任何问题,我会询问。 @joao2fast4u 我修复了链接。

以上是关于我们如何从 xmpp 服务器将存档消息访问到 android 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

我们如何确定 XMPP 消息何时传递?

如何自己搭建一个xmpp,实现推送消息

如何保证 XMPP 消息发送到 openfire 服务器?

将消息从一个 IMAP 服务器移动到另一个的脚本

如何在 iphone 中使用 Xmpp 将消息发送到特定的电子邮件 ID

使用stanza.io将自定义属性添加到不在服务器上的存档表中存储消息的消息