getMessages

public void getMessages(ConversationType conversationType, String targetId, String channelId, long timestamp, int count, boolean direction, IProgressResultCallback callback)

根据会话类型的目标 Id,回调方式获取某些消息类型的某条消息之前或之后的N条历史消息记录。如: 要获取 messageId 为22的之前的10条图片消息和文字消息 List<String> objectNames = new ArrayList<>(); objectNames.add("RC:ImgMsg"); objectNames.add("RC:TxtMsg"); 则相应参数为 getHistoryMessages(conversationType, targetId, "RC:ImgMsg", 22, 10, true, resultCallback)。 注意:返回的消息列表里面不包含oldestMessageId本身。

Return

返回符合条件的消息列表,以距离oldestMessageId距离的远近排列,距离最近的在最前面。

比如有六条消息,messageId分别为:0,1,2,3,4,5. 如果获取messageId为3的消息之前的三条消息,则返回的顺序是{2,1,0}; 如果获取messageId为3的消息之后的3条消息,则返回的消息列表顺序为{4,5}

Parameters

conversationType

会话类型。不支持传入 ConversationType.CHATROOM。

targetId

目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。

timestamp

最后一条消息的发送时间,如果没有消息可以设置为 0。

count

要获取的消息数量

direction

要获取的消息相对于oldestMessageId的方向。如果要获取oldestMessageId之前的消息,则该参数设置为true; 如果要获取oldestMessageId之后的消息,则该参数设置为false.