插入消息
功能描述
开发者可通过下面方法在会话页面内插入一条消息。通过此方法插入的消息,会将消息实体对应的内容插入数据源中,并更新 UI。
插入发送消息
向本地会话中插入一条发送方向的消息。此消息必须为客户端会存储的消息类型,参考消息介绍文档的「了解消息注解」。
该方法只是将消息存储在 SDK 本地数据库中,不会实际发送给服务器和对方。
插入消息后, 会自动刷新 UI 界面。
ConversationType conversationType = ConversationType.PRIVATE;
String targetId = "user1";
SentStatus sentStatus = SentStatus.SENT;
TextMessage content = TextMessage.obtain("这里是消息内容");
String sentTime = System.currentTimeMillis();
IMCenter.getInstance().insertOutgoingMessage(conversationType, targetId, sentStatus, content, sentTime, new RongIMClient.ResultCallback<Message>() {
/**
* 成功回调
* @param message 插入的消息
*/
@Override
public void onSuccess(Message message) {
}
/**
* 失败回调
* @param errorCode 错误码
*/
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
}
});
参数 | 类型 | 说明 |
---|---|---|
conversationType | ConversationType | 会话类型 |
targetId | String | 会话 ID。详见消息介绍中关于 Target ID 的说明。 |
sentStatus | Message.SentStatus | 发送状态 |
content | MessageContent | 消息内容 |
sentTime | long | 消息的发送时间。 消息列表页面会按照此时间排序并展示消息。 |
callback | IRongCallback.ResultCallback<Message> | 回调接口 |
插入接收消息
向本地会话中插入一条接收方向的消息,此消息属性必须为存储类型,参考消息属性说明。
该方法只是将消息存储在 SDK 本地数据库中,不会发送给服务器。
插入消息后, 会自动刷新 UI 界面。
ConversationType conversationType = ConversationType.PRIVATE;
String targetId = "user1";
String senderUserId = "模拟发送方的 ID";
ReceivedStatus receivedStatus = new ReceivedStatus(0x1);
TextMessage content = TextMessage.obtain("这是一条插入数据");
String sentTime = System.currentTimeMillis();
IMCenter.getInstance().insertIncomingMessage(conversationType, targetId, senderUserId, receivedStatus, content, sentTime, new RongIMClient.ResultCallback<Message>() {
/**
* 成功回调
* @param message 插入的消息
*/
@Override
public void onSuccess(Message message) {
}
/**
* 失败回调
* @param errorCode 错误码
*/
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
}
});
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
conversationType | ConversationType | 是 | 会话类型. |
targetId | String | 是 | Target ID 用于标识会话,称为目标 ID 或会话 ID。注意,因为单聊业务中始终使用对端用户 ID 作为标识本端会话的 Target ID,因此在单聊会话中插入本端接收的消息时,Target ID 始终是单聊对端用户 ID。群聊、超级群的会话 ID 分别为群组 ID、超级群 ID。详见消息介绍中关于 Target ID 的说明。 |
senderUserId | String | 是 | 发送方 ID。 |
receivedStatus | Message.ReceivedStatus | 是 | 接收状态。 |
content | MessageContent | 是 | 消息内容 |
sentTime | long | 是 | 消息的发送时间。 消息列表页面会按照此时间排序并展示消息。 |
callback | IRongCallback.ResultCallback<Message> | 是 | 回调接口 |