融云清空历史音讯 Android 端
- 先调用获取历史音讯。
/**
* 依据会话类型的指标 Id,回调形式获取 N 条历史音讯记录。*
* @param conversationType 会话类型。不反对传入 ConversationType.CHATROOM。* @param targetId 指标 Id。依据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。* @param oldestMessageId 最初一条音讯的 Id,获取此音讯之前的 count 条音讯,没有音讯第一次调用应设置为:-1。* @param count 要获取的音讯数量。* @param callback 获取历史音讯记录的回调,依照工夫程序从新到旧排列。*/
public void getHistoryMessages(Conversation.ConversationType conversationType, String targetId, int oldestMessageId, int count, RongIMClient.ResultCallback<List<Message>> callback) {RongIMClient.getInstance().getHistoryMessages(conversationType, targetId, oldestMessageId, count, callback);
}
- 再调用删除的接口。
/**
* 删除指定的一条或者一组音讯,回调形式获取是否删除胜利。*
* @param messageIds 要删除的音讯 Id 数组。* @param callback 是否删除胜利的回调。*/
public void deleteMessages(final int[] messageIds, final RongIMClient.ResultCallback<Boolean> callback) {RongIMClient.getInstance().deleteMessages(messageIds, new RongIMClient.ResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean bool) {if (bool)
RongContext.getInstance().getEventBus().post(new Event.MessageDeleteEvent(messageIds));
if (callback != null)
callback.onSuccess(bool);
}
@Override
public void onError(RongIMClient.ErrorCode e) {if (callback != null)
callback.onError(e);
}
});
}
革除远端音讯调接口
- cleanRemote 传 true,工夫戳传入以后的工夫戳。
/**
- 删除指定工夫戳之前的音讯,可抉择是否同时删除服务器端音讯
此办法从服务器端革除历史音讯,然而必须先开明历史音讯云存储性能。
依据会话类型和 TargetId 革除某一会话指定工夫戳之前的本地数据库音讯(服务端历史音讯),
- 革除胜利后只能从本地数据库(服务端)获取到该工夫戳之后的历史音讯。
*
* @param conversationType 会话类型。* @param targetId 会话指标 ID。* @param recordTime 革除音讯截止工夫戳,【0 ~ 以后工夫的 Unix 工夫戳】。* @param cleanRemote 是否删除服务器端音讯
* @param callback 革除音讯的回调。*/
public void cleanHistoryMessages
- 如果界面没有刷新,从新进入看下是否全副删除了。
您好,
您先试下是否能够删除,如果能够删除,然而界面没有刷新刷新的话,您能够调用 ConversationFragment 的
getMessageAdapter
办法, 而后
mListAdapter.removeAll();
mListAdapter.notifyDataSetChanged();
试下。