删除会话
如需从会话列表中删除一个会话或多个会话,可以通过 SDK 删除会话功能实现。客户端的会话列表是根据本地消息生成的,删除会话操作指的是删除本地会话。
删除指定会话
调用 removeConversation
可实现软删除的效果。该接口不会删除会话内的消息,仅将该会话项目从 SDK 的会话列表中移除。成功删除会话后,App 可以刷新 UI,不再向用户展示该会话项目。
接口
Java
RongIMClient.getInstance().removeConversation(conversationType, targetId, ResultCallback<Boolean>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
conversationType | ConversationType | 会话类型 |
targetId | String | 会话 ID |
callback | ResultCallback<Boolean> | 回调接口 |
示例代码
Java
ConversationType conversationType = ConversationType.PRIVATE;
String targetId = "会话 Id";
RongIMClient.getInstance().removeConversation(conversationType, targetId, new ResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean success) {
}
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
}
});
如果会话内再来一条消息,该会话会重新出现在会话列表中,App 用户可查看会话内的历史消息和最新消息。
SDK 未提供同时删除指定会话项目和会话历史消息的接口。如需同时删除会话内的消息,您需在删除指定会话时同时调用删除消息的接口。详见删除消息。
按会话类型删除会话
如需清空某一类型的所有会话,例如清空所有群聊会话。SDK 支持按指定会话类型清空所有会话及会话内的本地历史消息,一次支持清空多个类型的会话。