SDKsAndroid
Find messages by ID
Use findMessageList to retrieve message records with SearchParams.
Retrieve specific message records using conversation IDs and client message IDs (clientMsgID). This is typically used when handling notification clicks, business deep links, or specific read-receipt updates where exact message identifiers are known.
Code example
SearchParams params = new SearchParams();
params.setConversationID("si_user_a_user_b");
params.setClientMsgIDList(Arrays.asList("msg_001", "msg_002"));
List<SearchParams> searchParamsList = Collections.singletonList(params);
OpenIMClient.getInstance().messageManager.findMessageList(
new OnBase<SearchResult>() {
@Override
public void onSuccess(SearchResult result) {
// result contains matching message records
}
@Override
public void onError(int code, String error) {
// Failed to find messages
}
},
searchParamsList
);Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base | OnBase<SearchResult> | Yes | Callback handler for the asynchronous request. |
searchParams | List<SearchParams> | Yes | List of query parameter objects. Each SearchParams specifies a conversationID and a list of target clientMsgIDList values. |
Return value
Upon success, onSuccess returns a SearchResult object containing matching messages across the specified conversations. The client should locate or update local records using clientMsgID as the unique key.
State changes after the call
- Snapshot lookup: This is a read-only query that loads matching message snapshots without altering message delivery states.
- Text search alternative: To search message content by keyword instead of exact ID, see Search messages.
Was this page helpful?