SDKsAndroid
发送消息
将创建好的 Message 对象发送到指定单聊或群聊会话。
将构建好的 Message 对象发送到单聊或群聊中。单聊仅填写接收方用户 ID(recvUid),群聊仅填写目标群组 ID(recvGid),两者互斥,不可同时指定。通过 OnMsgSendCallback 可分别监听发送成功、失败以及大文件上传的进度反馈。
String peerUserID = "user_b";
OfflinePushInfo offlinePushInfo = new OfflinePushInfo();
offlinePushInfo.setTitle("新消息通知");
offlinePushInfo.setDesc("您有一条新消息,请点击查看");
OpenIMClient.getInstance().messageManager.sendMessage(
new OnMsgSendCallback() {
@Override
public void onProgress(long progress) {
// progress 为媒体文件上传进度(0-100)
}
@Override
public void onSuccess(Message sentMessage) {
// 发送成功,按 sentMessage.getClientMsgID() 刷新本地消息状态
}
@Override
public void onError(int code, String error) {
// 标记消息发送失败并支持重试
}
},
message,
peerUserID,
null,
offlinePushInfo
);参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
callback | OnMsgSendCallback | 是 | 消息发送生命周期回调,包含进度、成功与失败处理方法。 |
message | Message | 是 | 待发送的消息对象,通过对应消息类型的创建方法预先生成。 |
recvUid | String | 条件必填 | 单聊接收方用户 ID。发送群聊消息时必须传 null。 |
recvGid | String | 条件必填 | 群聊目标群组 ID。发送单聊消息时必须传 null。 |
offlinePushInfo | OfflinePushInfo | 否 | 接收方处于离线状态时的推送展示信息。不需要自定义时可传 null。 |
返回结果
成功回调返回发送成功后的 Message 对象。其中包含服务端分配的 serverMsgID、消息发送时间戳 sendTime 以及更新后的发送状态 status。
客户端应以 clientMsgID 为标识更新本地 UI 列表中该条消息的状态(如由“发送中”变更为“已发送”)。发送成功表示当前客户端已将消息成功投递至服务端,接收端是否已接收以其接收消息事件为准。
这个页面有帮助吗?