跳到主要内容

会话草稿

IMKit 支持会话草稿功能。

提示

用户在会话页面输入框中输入文本后没有发送,退出会话页面到会话列表,会话列表会显示草稿提示及草稿内容。

alt(width=250)

用法

IMKit 中默认已实现了获取会话草稿、删除草稿的功能和页面刷新,您不需要额外调用 API。

定制化

如果已有实现无法满足您的需求,可以使用 IMKit 和 IMLib 提供的以下 API。

保存会话草稿

使用 IMKit 核心类 IMCenter 的方法保存一条草稿内容至指定会话。保存草稿会更新会话 sentTime,触发会话列表重排序。

ConversationType conversationType = ConversationType.PRIVATE;
String targetId = "会话 Id ";
String content = "草稿内容";

IMCenter.getInstance().saveTextMessageDraft(conversationType, targetId, content, new
ResultCallback<Boolean>() {

@Override
public void onSuccess(Boolean success) {

}

@Override
public void onError(RongIMClient.ErrorCode errorCode) {

}
})

参数类型说明
conversationTypeConversationType会话类型
targetIdString会话 Id
contentString草稿的文字内容
callbackResultCallback<Boolean>回调接口

获取/删除会话草稿

IMKit 中未封装获取草稿、删除草稿的 API。如果您有自定义需求,可以调用 IMLib SDK 中获取草稿和删除草稿的方法。

  • RongIMClient#getTextMessasgeDraft():获取会话草稿
  • RongIMClient#clearTextMessageDraft():删除会话草稿
提示

详细使用方法请参见 IMLib 文档会话草稿。注意,IMLib 的方法并不提供页面刷新能力,您需要根据业务需求自定义通知机制进行页面刷新。