关于android:融云清空历史消息-Android-端

8次阅读

共计 1672 个字符,预计需要花费 5 分钟才能阅读完成。

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

正文完
 0