跳转至

消息搜索

搜索消息列表

根据关键词搜索消息列表,返回包含匹配消息的会话列表,以及各会话中匹配的消息数量。

参数说明

参数 类型 说明
keyword String 搜索的关键字
conversationTypes Conversation.ConversationType[] 搜索的会话类型
objectNames String[] 搜索的消息类型,例如:RC:TxtMsg
resultCallback RongIMClient.ResultCallback> 搜索结果回调

示例代码:

                RongIMClient.getInstance().searchConversations(keyword,
                        new Conversation.ConversationType[]{Conversation.ConversationType.PRIVATE, Conversation.ConversationType.GROUP},
                        new String[]{"RC:TxtMsg", "RC:ImgTextMsg", "RC:FileMsg"}, new RongIMClient.ResultCallback<List<SearchConversationResult>>() {
                            @Override
                            public void onSuccess(List<SearchConversationResult> searchConversationResults) {

                            }

                            @Override
                            public void onError(RongIMClient.ErrorCode e) {

                            }
                        });

搜索会话消息

搜索某会话中所有匹配的消息。

参数说明

参数 类型 说明
conversationTypes Conversation.ConversationType[] 搜索的会话类型
targetId String 指定的会话 id
keyword String 搜索的关键字
count int 返回的搜索结果数量, 传0时会返回所有搜索到的消息, 非0时,逐页返回。
beginTime long 查询记录的起始时间, 传0时从最新消息开始搜索。从该时间往前搜索。
resultCallback RongIMClient.ResultCallback> 搜索结果回调
                RongIMClient.getInstance().searchMessages(ConversationType,
                        targetId, keyword, 50, 0, new RongIMClient.ResultCallback<List<Message>>() {
                            @Override
                            public void onSuccess(List<Message> messages) {

                            }

                            @Override
                            public void onError(RongIMClient.ErrorCode e) {

                            }
                        });

搜索会话中指定用户的消息

搜索会话中,指定用户发送的消息,只支持群聊会话类型,此功能从 2.9.12 版本开始支持

参数说明

参数 类型 说明
conversationTypes Conversation.ConversationType[] 搜索的会话类型
targetId String 指定的会话 id
userId String 用户 id
count int 返回的搜索结果数量, 0 < count <= 100。如果count > 100,则最大返回 100
beginTime long 查询记录的起始时间, 传0时从最新消息开始搜索。从该时间往前搜索。
resultCallback RongIMClient.ResultCallback> 搜索结果回调
                RongIMClient.getInstance().searchMessagesByUser(conversationType, targetid, userid, count, beginTime, new RongIMClient.ResultCallback<List<Message>>() {
                    @Override
                    public void onSuccess(List<Message> messages) {
                        
                    }

                    @Override
                    public void onError(RongIMClient.ErrorCode e) {

                    }
                });