乐趣区

关于即时通讯:融云清空历史消息-Android-端

融云清空历史音讯 Android 端

  1. 先调用获取历史音讯。

/**

  • 依据会话类型的指标 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);
}

  1. 再调用删除的接口。

/**

  • 删除指定的一条或者一组音讯,回调形式获取是否删除胜利。

*

  • @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);
}
});
}

革除远端音讯调接口

  1. cleanRemote 传 true,工夫戳传入以后的工夫戳。

/**

  • 删除指定工夫戳之前的音讯,可抉择是否同时删除服务器端音讯
  • 此办法从服务器端革除历史音讯,然而必须先开明历史音讯云存储性能。
  • 依据会话类型和 TargetId 革除某一会话指定工夫戳之前的本地数据库音讯(服务端历史音讯),
  • 革除胜利后只能从本地数据库(服务端)获取到该工夫戳之后的历史音讯。


*

  • @param conversationType 会话类型。

  • @param targetId         会话指标 ID。

  • @param recordTime       革除音讯截止工夫戳,【0 ~ 以后工夫的 Unix 工夫戳】。

  • @param cleanRemote     是否删除服务器端音讯

  • @param callback         革除音讯的回调。


*/

public void cleanHistoryMessages

  1. 如果界面没有刷新,从新进入看下是否全副删除了。

您好,

您先试下是否能够删除,如果能够删除,然而界面没有刷新刷新的话,您能够调用 ConversationFragment 的

getMessageAdapter 办法, 而后

mListAdapter.removeAll();

mListAdapter.notifyDataSetChanged(); 试下。

退出移动版