跳到主要内容

获取会话未读消息

IMLib SDK 支持从指定会话中获取未读消息,可满足 App 跳转到第一条未读消息、展示全部未读 @ 消息的需求。

获取会话中第一条未读消息

获取会话中的最早一条未读消息。

RongCoreClient.getInstance().getTheFirstUnreadMessage(conversationType, targetId, callback);
参数类型说明
conversationTypeConversationType会话类型
targetIdString会话 Id
callbackIRongCoreCallback.ResultCallback<Message>回调接口

获取成功后,callback 中会返回消息对象(Message)。

ConversationType conversationType = ConversationType.PRIVATE;
String targetId = " 会话 Id ";


RongCoreClient.getInstance().getTheFirstUnreadMessage(conversationType, targetId, new ResultCallback<Message>() {
@Override
public void onSuccess(Message message) {

}

@Override
public void onError(IRongCoreEnum.CoreErrorCode e) {

}
});

获取会话中未读的 @ 消息

提示
  • 低于 5.2.5 版本仅提供不带 countdesc 参数的 getUnreadMentionedMessages 方法,每次最多返回 10 条数据。
  • 从 5.2.5 版本开始,getUnreadMentionedMessages 支持 countdesc 参数。

获取会话中最早或最新的未读 @ 消息,最多返回 100 条。

RongCoreClient.getInstance().getUnreadMentionedMessages(conversationType, targetId, count, desc, callback);
参数类型说明
conversationTypeConversationType会话类型
targetIdString会话 Id
countint消息条数。最大 100 条。
descbooleantrue:拉取最新的 count 条数据。false:拉取最旧的 count 条数据。
callbackIRongCoreCallback.ResultCallback<List<Message>>回调接口

获取成功后,callback 中会返回消息对象(Message)列表。

ConversationType conversationType = ConversationType.PRIVATE;
String targetId = " 会话 Id ";
int count = 100;
boolean desc = true;

RongCoreClient.getInstance().getUnreadMentionedMessages(conversationType, targetId, count, desc, new ResultCallback<List<Message>>() {
@Override
public void onSuccess(List<Message> messageList) {

}

@Override
public void onError(IRongCoreEnum.CoreErrorCode e) {

}
});