浏览 SDKs · Android
平台
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) {
            // 处理删除失败
        }
    }
);

参数说明

参数类型是否必填说明
requestDeleteMessagesReq是批量删除请求对象。包含 conversationID(会话 ID)、clientMsgIDs(待删除的客户端消息 ID 数组)以及 isSync(是否同步到其他多端设备)。
baseOnBase<String>是异步请求回调。

返回结果

成功回调中的 data 返回确认信息。

若设置了 isSync = true,当前账号在其他设备上的客户端会通过 OnAdvanceMsgListener.onMsgDeleted 接收删除通知,客户端应以 clientMsgID 为主键从消息列表中移除对应项;完整监听见接收消息。