一对一的聊天记录,包括开火和打拳

2024-01-17

我已经在我的系统中安装了 open fire,通过使用邮递员工具我可以创建用户,通过使用 smack 我也可以将消息发送给其他用户..但问题是我不知道如何获取两个用户之间的聊天历史记录..这意味着如果我发送发件人和收件人用户名,我需要获取以前的聊天历史记录。 我可以在开火服务器-->存档文件夹中查看聊天记录。 但我不知道如何获取聊天记录。 有没有Rest API 可用于获取聊天记录两个用户之间..

请提供任何可能的解决方案

谢谢

这是我能看到的聊天记录


如果你想使用 smack 从 Openfire 获取聊天记录:

  1. 正如您已经完成的那样,通过安装启用 MAM (XEP-0313)监控服务 https://www.igniterealtime.org/projects/openfire/plugins/monitoring/readme.htmlOpenfire 中的插件。

  2. 现在从 Openfire 服务器转到:服务器>存档>存档设置并选中“存档一对一聊天”和“存档群聊”并保存单击“更新设置”。

  3. 从现在开始,所有聊天记录都将保存在 Openfire 上。与某人开始新的聊天并重新安装您的 Android 应用程序。

  4. MAM 是“实验性的 https://download.igniterealtime.org/smack/docs/latest/documentation/extensions/index.html"。所以你必须将这一行添加到你的 Gradle 中:

    implementation 'org.igniterealtime.smack:smack-extensions:4.2.2'
    
  5. 成功连接并授权其中一个后,您可以通过以下代码逐页或根据需要获取聊天记录:

    MamManager manager = MamManager.getInstanceFor(connection);
    MamManager.MamQueryResult r = manager.mostRecentPage([userBareJID], [numberOfMessages]);
    if (r.forwardedMessages.size() >= 1) //printing first of them
    {
        Message message = (Message) r.forwardedMessages.get(0).getForwardedStanza();
        Log.i("mam", "message received" + message.getBody());
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一对一的聊天记录,包括开火和打拳 的相关文章

随机推荐

  • 'git reset --soft' 是一个无操作命令吗?

    The 文档 http linux die net man 1 git reset指出利用 soft option 根本不触及索引文件或工作树 但要求它们处于良好的顺序 这使得所有更改的文件 要提交的更改 正如 git status 所说的
  • NoSuchFieldError 实例位于 org.apache.http.impl.io.DefaultHttpRequestWriterFactory

    java version 1 7 0 71 Gradle 2 1 Hello UPDATE 依赖关系 gradle dependencies grep httpcore org apache httpcomponents httpcore
  • 如果应用程序未至少启动一次,广播接收器将无法在 ICS 中工作

    这个问题在堆栈溢出中被问过几次 但还没有解决方案 我有一个广播接收器 用于接收 USB 连接操作 广播接收器的责任是 如果我得到意图启动我的应用程序 在清单文件中 我添加了接收器 我在 GingerBread 中也有同样的逻辑 但 ICS
  • 暂停 UIImageview 动画

    我想暂停UIImageView animation根据我的研究发现 您可以停止图像的动画 但无法暂停序列 通过调用语句stop animating on the UIImageView然后它停止动画并清空图像视图 要暂停 UIImages
  • 片段实例化崩溃

    我的一些用户遇到了崩溃 这是 Google Play 开发者控制台上的崩溃报告中显示的错误 Unable to start activity ComponentInfo com havens1515 autorespond com have
  • 表面网格到体积网格

    我有一个使用 Meshlab 从点云生成的封闭表面网格 我需要为此获得一个体积网格 这样它就不是一个空心物体 我想不通 我需要获取 stl 文件进行打印 谁能帮我获得体积网格 我更喜欢简单的解决方案而不是复杂的算法 给定一个定向的水密表面网
  • GKE Ingress-GCE 是否支持压缩?

    我的后端在 Rocket Rust 中没有内置压缩功能 因此 它依赖于代理来压缩它 虽然 nginx 入口控制器支持它 但我想默认的入口控制器是否也有它 因为它具有高可用性 如果没有的话应该如何设置呢 更新 2018 01 31 它看起来像
  • 如何从 R 中拟合线性 b 样条回归中提取基础系数?

    以下面的一结 一级样条为例 library splines library ISLR age grid seq range Wage age 1 range Wage age 2 fit spline lm wage bs age knot
  • Youtube API v3,topicId 恢复

    Youtube API v3 使开发人员能够检索有关特定视频的特定信息 在返回的数据中 有一个称为topicDetails可以按照以下示例请求 Request https www googleapis com youtube v3 vide
  • Angular 无法使用不同数量的子级重新附加 ActivatedRouteSnapshot

    这是我在 NativeScript Angular 项目中的路由 const routes Routes path redirectTo tabs default pathMatch full path tabs loadChildren
  • 如何获取 AJAX 发送的 JSON 以与 PHP 配合使用

    在我寻求让 PHP 可以使用这个 JSON 的过程中 我遇到了一个又一个的障碍 所以我想知道是否有人可以帮助我 我将 JSON 存储在变量 DivisionsJSON 中 var divisionsJSON JSON stringify d
  • 尝试创建一个删除按钮以从列表中删除项目

    我正在尝试制作一个删除按钮 该按钮将从 order List 中删除项目 我制作的 removeButton 按钮仅从列表中删除一项 然后会显示错误消息 menulist listOrder new menulist order List
  • is not null 和 <>' ' 之间有什么区别

    看看我的例子 两个代码有什么区别 Select name from customers where name is not null Select name from customers where name lt gt 他们做完全不同的事
  • 在 DOM 对象上设置属性时如何避免 no-param-reassign

    我有一个方法 其主要目的是在 DOM 对象上设置属性 function el el expando 我使用 AirBnB 的代码风格 这使得 ESLint 抛出一个no param reassign error 错误分配给函数参数 el n
  • 受保护的构造函数和可访问性

    如果子类位于不同的包中 为什么我们不能使用受保护的构造函数实例化一个类 如果可以访问受保护的变量和方法 为什么相同的规则不适用于受保护的构造函数 pack1 package pack1 public class A private int
  • 此处不应引用 Java 方法

    究竟如何使用 Java 8 链接实例的方法引用 例子 Collections sort civs Comparator comparing Civilization getStrategy getStrategLevel getStrate
  • 为什么继承的接口无法在通用上下文中转换为其基接口?

    我正在尝试在我的 C 项目中实现接口继承系统 但无法让它工作 这是一个简化版本 public interface BaseInterface public abstract class AbstractClass
  • UITableView 检测选定的单元格?

    我的应用程序中有多个 UITableView 是否有一种方法可以检测用户在该列中选择了哪个单元格 行 还可以通过编程方式取消选择单元格 行吗 Thanks 获取表当前选择的索引路径 NSIndexPath path tableView in
  • Magento 将控制器复制到本地

    当我复制一些core Mage Adminhtml Block 文件到local Mage Adminhtml Block 一切正常 但如果我将控制器复制到local Mage Adminhtml controllers 核心控制器仍然有效
  • 一对一的聊天记录,包括开火和打拳

    我已经在我的系统中安装了 open fire 通过使用邮递员工具我可以创建用户 通过使用 smack 我也可以将消息发送给其他用户 但问题是我不知道如何获取两个用户之间的聊天历史记录 这意味着如果我发送发件人和收件人用户名 我需要获取以前的