【问题标题】:How to get Openfire chat history on Android device with aSmack?如何使用 aSmack 在 Android 设备上获取 Openfire 聊天记录?
【发布时间】:2013-01-10 18:56:39
【问题描述】:

我正在开发一个聊天应用程序,用户将在其中与一位领域专家的组成员聊天。用户使用我的 android 应用程序,领域专家使用 spark web 进行聊天。我进行了 Openfire 设置和 Spark 网络设置,并使用 aSmack 库开发了 Android 聊天应用程序。我的应用用户可以与领域专家聊天。到目前为止还好。现在我想在 Android 设备上显示用户与任何或特定专家的聊天记录。上网后,我可以为我的开火服务器安装监控服务插件,该插件在管理员端显示用户的聊天记录,如下所示。

现在我想在我的 Android 应用中展示这段历史,我该如何实现。任何建议,非常欢迎。我是否朝着正确的方向前进?或者有什么简单的方法来完成我的工作?非常感谢有关此聊天历史记录将存储在 Open fire 数据库中何处的任何信息,以便我可以进行 SQL 查询并使用 Web 服务获取数据。

【问题讨论】:

    标签: android xmpp chat smack asmack


    【解决方案1】:

    您可以使用以下代码获取群聊历史:

    DiscussionHistory history = new DiscussionHistory();
    history.setMaxStanzas(0);
    
    
    multiUserChat.join("username", "password", history, SmackConfiguration.getPacketReplyTimeout());
    

    【讨论】:

    • 我可以使用这个获取群聊历史..但是谁能告诉我如何获取一对一的聊天记录?
    • 我已经使用上面的代码在群组中进行了编码,现在我如何在我的应用程序中获取聊天记录。
    • 这意味着我们没有从 Xmpp smack 中获取历史记录。正如我在 IOS 中注意到的那样,他们很容易获得一对一的聊天历史记录。如果有任何方法可以获取 XMPP 聊天记录。请告诉我.. 谢谢
    • @RavindraKushwaha 与 ios 不同,我们维护了一个本地历史数据库。
    • @Priya 当你连接到群组时,监听器会自动收到消息。
    【解决方案2】:

    如果您使用的是 MUC (XEP-45),那么您可以在输入 MUC 时请求讨论历史记录。见XEP-45 7.2.14 Discussion History。使用 (a)Smack 时,这意味着您必须使用 MultiUserChat.join(String nickname, String password, DiscussionHistory history, long timeout) 来获取历史记录。

    【讨论】:

    • 我不希望用户加入任何聊天室来获取历史记录。我想要用户离线时的历史记录。我想要用户与其他用户的聊天记录,而不是组。
    • 嗨@vrs 我也在寻找同样的要求。你能找到任何代码sn-p或样本吗??
    • 没有找到简单的方法。正如仅从数据库中提到的那样,我能够获得该信息。
    • 如果我想检索一对一的聊天记录而不是我所做的。我在互联网上搜索,但我没有得到正确的答案
    • @Flow 请查看我关于检索聊天记录的问题stackoverflow.com/questions/27125713/…
    【解决方案3】:

    我将监控服务插件添加到 openfire,它创建了一些额外的表来存储任意 2 个帐户之间的聊天对话详细信息。监控服务还为您提供数据库查询静态信息。从管理面板数据库静态信息中,我可以获取此聊天详细信息存储在哪些表、哪些列中。还需要查询。使用上述信息,我的后端团队编写了 Web 服务来获取所需的信息。这是我实施的方式。

    【讨论】:

    • 你能分享一下邮件保存在哪些表中
    • @vrs,我也面临同样的问题,我添加了监控插件,将在其中创建附加表..你能详细说明你的答案吗?
    • 对不起,我忘了。现在没有那个项目设置。
    • 这意味着我们没有从 Xmpp smack 中获取历史记录。正如我在 IOS 中注意到的那样,他们很容易获得一对一的聊天历史记录。如果有任何方法可以获取 XMPP 聊天记录。请告诉我.. 谢谢
    猜你喜欢
    • 1970-01-01
    • 2015-01-23
    • 2016-06-26
    • 2012-09-01
    • 2015-02-05
    • 2015-10-25
    • 1970-01-01
    • 2019-05-05
    相关资源
    最近更新 更多