融云清空历史音讯 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();
试下。