logo
即时通讯
客户端 SDK
当前页

取消媒体消息发送


功能简介

ZIM SDK 支持取消用户正在发送包含本地媒体文件的消息,取消成功后消息状态变更为“发送失败”。

注意
  • 2.22.0 版本开始支持。
  • 仅支持取消发送的消息类型为包含本地媒体文件的 Multiple(10)、Image(11)、File(12)、Audio(13)、Video(14) 类型。

取消正在发送的媒体消息

当用户发送包含本地媒体文件的消息时,由于文件上传需要一定的耗时,在这段时间内调用 cancelSendingMessage 取消发送此条消息终止文件上传。

注意

当包含普通文本和媒体文件的组合消息被取消时,整个消息(包含普通文本)都会被取消发送。

ZIMEventHandler.onMessageSentStatusChanged = (ZIM zim, List<ZIMMessageSentStatusChangeInfo> messageSentStatusChangedInfoList) {
    // 消息发送状态变更
};
// 用户 A 发送一条消息,以单聊文件消息为例

String conversationID = "xxx" ; // 会话 ID

ZIMFileMessage message = ZIMFileMessage('xxx/xxx.zip');
ZIMMessageSendConfig sendConfig = ZIMMessageSendConfig();

ZIMMessageSendNotification notification = ZIMMessageSendNotification(onMessageAttached: (message){
    // 开发者可以监听这个回调执行消息发送前的业务逻辑
},onMediaUploadingProgress: (message,currentFileSize,totalFileSize){
    // 处于文件上传中时,取消发送
    ZIM.getInstance()!.cancelSendingMessage(message, ZIMSendingMessageCancelConfig())
        .then(() => {
            //成功触发此处
        })
        .catchError((onError) {
            //失败触发此处
        });
});

ZIM.getInstance()!.sendMessage(
        message,
        conversationID,
        ZIMConversationType.peer,
        ZIMMessageSendConfig(), notification)
    .then((value) => {
        //成功触发此处
    })
    .catchError((onError) {
        //失败触发此处
    });

Previous

群定向消息

Next

获取会话列表

当前页

返回到顶部