getHistoryMessages

public abstract void getHistoryMessages(ConversationType conversationType, String targetId, String channelId, String objectName, int oldestMessageId, int count, IRongCoreCallback.ResultCallback<List<Message>> callback)

获取会话中符合条件的消息列表。

返回的消息中不包含 oldestMessageId 对应那条消息,如果会话中的消息数量小于参数 count 的值,会将该会话中的所有消息返回。

如:oldestMessageId 为 10,count 为 2,会返回 messageId 为 9 和 8 的 Message 对象列表。

注意:不支持拉取聊天室 CHATROOM 历史消息

该方法仅获取本地数据库中的消息。

注意:since 5.4.4版本该方法支持超级群类型。超级群不会接收离线消息,超级群调用该接口会出现消息断档的情况,请使用断档消息接口获取超级群消息。

Since

5.1.1

Parameters

conversationType

会话类型 ,不支持聊天室。

targetId

会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 。

channelId

消息所属会话的业务标识。

objectName

消息类型标识。

oldestMessageId

最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。

count

要获取的消息数量

callback

获取历史消息的回调,按照时间顺序从新到旧排列。


public abstract void getHistoryMessages(ConversationType conversationType, String targetId, String channelId, String objectName, int baseMessageId, int count, RongCommonDefine.GetMessageDirection direction, IRongCoreCallback.ResultCallback<List<Message>> callback)

获取会话中符合条件的消息列表。

如:获取 messageId 为 22 的之前的 10条 图片消息,则相应参数为 getHistoryMessages(conversationType, targetId, "RC:ImgMsg", 22, 10, true, resultCallback)。

注意:不支持拉取聊天室 CHATROOM 历史消息

该方法仅获取本地数据库中的消息。

注意:since 5.4.4版本该方法支持超级群类型。超级群不会接收离线消息,超级群调用该接口会出现消息断档的情况,请使用断档消息接口获取超级群消息。

Since

5.1.1

Parameters

conversationType

会话类型 ,不支持聊天室。

targetId

会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。

channelId

消息所属会话的业务标识。

objectName

消息类型标识。如 RC:TxtMsg,RC:ImgMsg,RC:VcMsg 等 value 。

baseMessageId

起始消息 id。

count

需要获取的消息数量。

direction

要获取的消息相对于 baseMessageId 的方向 以指定的 baseMessageId 作为获取的起始点,时间早于 baseMessageId 则为 FRONT,晚于则为 BEHIND。

callback

获取历史消息的回调,按照时间顺序从新到旧排列。


public abstract void getHistoryMessages(ConversationType conversationType, String targetId, String channelId, List<String> objectNames, long timestamp, int count, RongCommonDefine.GetMessageDirection direction, IRongCoreCallback.ResultCallback<List<Message>> callback)

获取会话中符合条件的消息列表。

如: 要获取 messageId 为 22 的之前的 10 条图片消息,和文字消息 objectNames 为字符串 List

objectNames.add("RC:ImgMsg");
objectNames.add("RC:TxtMsg");

则相应参数为 getHistoryMessages(conversationType, targetId, objectNames, 22, 10, true, resultCallback)。

该方法仅获取本地数据库中的消息。

注意:since 5.4.4版本该方法支持超级群类型。超级群不会接收离线消息,超级群调用该接口会出现消息断档的情况,请使用断档消息接口获取超级群消息。

Since

5.1.1

Parameters

conversationType

会话类型 ,不支持聊天室。

targetId

会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。

channelId

消息所属会话的业务标识。

objectNames

消息类型标识 List。如 RC:TxtMsg,RC:ImgMsg,RC:VcMsg 等构成的 List。

timestamp

当前消息时间戳。

count

需要获取的消息数量。

direction

要获取的消息相对于当前消息的方向 io.rong.imlib.RongCommonDefine.GetMessageDirection 以当前消息作为起始点,时间早于当前消息则为 FRONT,否则为 BEHIND。

callback

获取历史消息的回调,按照时间顺序从新到旧排列。


public abstract void getHistoryMessages(ConversationType conversationType, String targetId, int oldestMessageId, int count, String channelId, IRongCoreCallback.ResultCallback<List<Message>> callback)

获取会话中,从指定消息之前、指定数量的、指定消息类型的最新消息实体。

注意:不支持聊天室!

该方法仅获取本地数据库中的消息。

注意:since 5.4.4版本该方法支持超级群类型。超级群不会接收离线消息,超级群调用该接口会出现消息断档的情况,请使用断档消息接口获取超级群消息。

Since

5.1.1

Parameters

conversationType

会话类型,不支持聊天室。参考 Conversation.ConversationType 。

targetId

会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。

channelId

消息所属会话的业务标识。

oldestMessageId

最后一条消息的 id。获取此消息之前的 count 条消息,没有消息第一次调用应设置为 -1。

count

要获取的消息数量。

callback

获取历史消息的回调,按照时间顺序从新到旧排列。


public abstract void getHistoryMessages(ConversationType conversationType, String targetId, String channelId, long sentTime, int before, int after, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)

在会话中搜索指定消息的前 before 数量和 after 数量的消息。

返回的消息列表中会包含指定的消息。消息列表时间顺序从新到旧。

该方法仅获取本地数据库中的消息。

注意:since 5.4.4版本该方法支持超级群类型。超级群不会接收离线消息,超级群调用该接口会出现消息断档的情况,请使用断档消息接口获取超级群消息。

Since

5.1.1

Parameters

conversationType

指定的会话类型。

targetId

指定的会话 id。

channelId

消息所属会话的业务标识。

sentTime

指定消息的发送时间,不能为 0。

before

指定消息的前部分消息数量。

after

指定消息的后部分消息数量。

resultCallback

搜索结果回调。

上拉加载时,返回数据中包含当前消息;例:当前消息 id 为 500, before = 0 after = 10,返回 510 - 500 ,按消息 id 倒序。