浏览 SDKs · Android
平台
SDKsAndroid商业版

反向加载历史消息

从指定消息起点向更新的时间方向反向拉取历史消息。

复制

从指定消息锚点向较新的时间方向反向读取历史消息。常用于从搜索结果、回复跳转或高亮定位消息处,向后继续浏览随后的上下文消息流。该接口用于反向读取历史记录,并非用于实时接收新消息。

String conversationID = "si_user_a_user_b";
int count = 20;

OpenIMClient.getInstance().messageManager.getAdvancedHistoryMessageListReverse(
    new OnBase<AdvancedMessage>() {
        @Override
        public void onSuccess(AdvancedMessage result) {
            List<Message> messages = result.getMessageList();
            boolean reachedLatest = result.isEnd();
            // 按 clientMsgID 去重后,将 messages 添加到当前列表后方
        }

        @Override
        public void onError(int code, String error) {
            // 处理加载失败
        }
    },
    conversationID,
    startMessage,
    count,
    ViewType.History
);

参数说明

参数类型是否必填说明
baseOnBase<AdvancedMessage>是异步请求回调。
conversationIDString是目标会话 ID。
startMsgMessage是反向读取的锚点起始消息。
countint是本次最多读取的消息数量。
viewTypeViewType是视图类型,浏览普通历史消息时传 ViewType.History。

返回结果

成功回调返回 AdvancedMessage 对象。messageList 为锚点之后读取到的较新消息列表,isEnd 表示是否已到达当前本地历史记录的较新一端。

客户端应以 clientMsgID 为标识进行去重并追加至列表后方。后续产生的实时新消息仍通过接收消息监听处理。