SDKsAndroid商业版
批量删除消息
批量删除当前账号在同一会话中的一条或多条消息。
批量删除指定会话中的消息记录。支持通过参数配置是否将删除操作同步至当前账号的其他多端设备。该删除仅作用于当前登录账号,不会影响会话中其他成员各自持有的消息副本。
String conversationID = "si_user_a_user_b";
String[] selectedClientMsgIDs = new String[]{"msg_001", "msg_002"};
boolean isSync = true; // true 同步删除到多端,false 仅删除本地与当前端服务端
DeleteMessagesReq request = new DeleteMessagesReq(
isSync,
conversationID,
selectedClientMsgIDs
);
OpenIMClient.getInstance().messageManager.deleteMessages(
request,
new OnBase<String>() {
@Override
public void onSuccess(String data) {
// 批量删除成功
}
@Override
public void onError(int code, String error) {
// 处理删除失败
}
}
);参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
request | DeleteMessagesReq | 是 | 批量删除请求对象。包含 conversationID(会话 ID)、clientMsgIDs(待删除的客户端消息 ID 数组)以及 isSync(是否同步到其他多端设备)。 |
base | OnBase<String> | 是 | 异步请求回调。 |
返回结果
成功回调中的 data 返回确认信息。
若设置了 isSync = true,当前账号在其他设备上的客户端会通过 OnAdvanceMsgListener.onMsgDeleted 接收删除通知,客户端应以 clientMsgID 为主键从消息列表中移除对应项;完整监听见接收消息。
这个页面有帮助吗?