浏览 SDKs · Flutter
平台
SDKsFlutter

监听消息发送进度

设置 Flutter 消息发送进度 listener。

复制

当通过发送消息发送图片、视频或语音等本地媒体消息时,可设置进度监听器以获取文件上传阶段的实时进度百分比:

OpenIM.iMManager.messageManager.setMsgSendProgressListener(
  OnMsgSendProgressListener(
    onProgress: (clientMsgID, progress) {
      updateMessageUploadProgress(clientMsgID, progress);
    },
  ),
);

参数说明

参数类型说明
clientMsgIDString当前正在上传的媒体消息对应的客户端消息 ID。
progressint当前媒体文件上传进度百分比(0 ~ 100)。

注意事项

客户端应使用 clientMsgID 关联对应消息气泡上的进度指示器,切勿按文件名或列表下标匹配。进度数值达到 100 仅表示媒体文件上传完毕,并不等同于消息已完成网络投递;最终发送结果仍以发送消息的 Future 成功或失败为准。

SDK 未提供单独移除该 listener 的方法。建议在应用生命周期内保持单一实例,并在切换登录账号时重置上一个账号的上传状态映射。若需要独立上传头像或业务文件而非随消息发送,请参考上传文件。