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
);参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
base | OnBase<AdvancedMessage> | 是 | 异步请求回调。 |
conversationID | String | 是 | 目标会话 ID。 |
startMsg | Message | 是 | 反向读取的锚点起始消息。 |
count | int | 是 | 本次最多读取的消息数量。 |
viewType | ViewType | 是 | 视图类型,浏览普通历史消息时传 ViewType.History。 |
返回结果
成功回调返回 AdvancedMessage 对象。messageList 为锚点之后读取到的较新消息列表,isEnd 表示是否已到达当前本地历史记录的较新一端。
客户端应以 clientMsgID 为标识进行去重并追加至列表后方。后续产生的实时新消息仍通过接收消息监听处理。
这个页面有帮助吗?