跳转至

会话操作

获取会话

获取指定的某个会话

参数说明:

参数 类型 必填 说明
conversationType Conversation.ConversationType 会话类型
targetId String 目标 Id。根据不同的 conversationType,可能是用户 Id、群组 Id 或聊天室 Id
callback ResultCallback 会话信息的回调

代码示例:

public void getConversation(final Conversation.ConversationType conversationType, final String targetId, final ResultCallback<Conversation> callback)on.ConversationType conversationType, final String targetId, final ResultCallback<Integer> callback)

获取用户的所有本地会话列表

注意事项

1.当您的会话较多且没有清理机制的时候,我们强烈建议您使用分页获取,否则有可能超过安卓跨进程数据传输的最大限制而造成异常

2.当更换设备或者清除缓存后,拉取到的是暂存在融云服务器中该账号当天收发过消息的会话列表

参数说明:

参数 类型 必填 说明
callback ResultCallback 会话列表的回调

代码示例:

public void getConversationList(final ResultCallback<List<Conversation>> callback)

获取某几种会话类型的会话列表

参数说明:

参数 类型 必填 说明
conversationType Conversation.ConversationType 会话类型
callback ResultCallback 会话列表的回调

代码示例:

public void getConversationList(final ResultCallback<List<Conversation>> callback, final Conversation.ConversationType... conversationTypes)

分页拉取本地会话列表

参数说明:

参数 类型 必填 说明
callback ResultCallback 会话列表的回调
timeStamp long 时间戳,获取从此时间戳往前的会话,第一次传 0
count 会话列表的回调
conversationType Conversation.ConversationType 会话类型

代码示例:

public void getConversationListByPage(final ResultCallback<List<Conversation>> callback, final long timeStamp, final int count, final Conversation.ConversationType... conversationTypes)

删除会话

参数说明:

参数 类型 必填 说明
conversationType Conversation.ConversationType 会话类型
targetId String 目标 Id。根据不同的 conversationType,可能是用户 Id、群组 Id 或聊天室 Id
callback ResultCallback 会话信息的回调

代码示例:

public void removeConversation(final Conversation.ConversationType conversationType, final String targetId, final ResultCallback<Boolean> callback)

搜索会话

提示

  1. 在自定义消息中实现 MessageContent#getSearchableWord() 方法,才能被搜索到。
  2. SearchConversationResult.getMatchCount() 方法返回已匹配的消息数量。

参数说明:

参数 类型 必填 说明
keyword String 搜索的关键字
conversationTypes Conversation.ConversationType[] 搜索的会话类型
objectNames String[] 搜索的消息类型,例如:RC:TxtMsg
resultCallback ResultCallback 搜索结果回调

代码示例:

public void searchConversations(final String keyword, final Conversation.ConversationType[] conversationTypes, final String[] objectNames, final RongIMClient.ResultCallback<List<SearchConversationResult>> resultCallback)

置顶会话

设置某一会话为置顶,或者取消置顶。

参数说明:

参数 类型 必填 说明
conversationType Conversation.ConversationType 会话类型
id String 目标 Id。根据不同的 conversationType,可能是用户 Id、群组 Id 或聊天室 Id
isTop boolean 是否置顶
callback ResultCallback 置顶或取消置顶是否成功的回调

代码示例:

public void setConversationToTop(final Conversation.ConversationType conversationType, final String id, final boolean isTop, final ResultCallback<Boolean> callback)

会话免打扰

设置会话的提醒状态来实现免打扰功能。可以设置单个会话的免打扰,和所有会话的免打扰。

提示

  1. 单个会话免打扰,可以屏蔽某个会话的通知提醒和推送。
  2. 所有会话免打扰。可以屏蔽某一个时间段免打扰,也可以设置全天免打扰。
单个会话免打扰
参数 类型 说明
DO_NOT_DISTURB(0) int 会话免打扰状态
NOTIFY(1) int 会话提醒状态

当会话状态为 DO_NOT_DISTURB 时,客户端将不会收到消息推送。您也可以根据此状态,调整收到在线消息时的处理逻辑,如屏蔽后台通知和提示音等。

设置会话提醒状态

参数说明:

参数 类型 必填 说明
conversationType Conversation.ConversationType 会话类型
targetId String 目标 Id。根据不同的 conversationType,可能是用户 Id、群组 Id
notificationStatus Conversation.ConversationNotificationStatus 是否屏蔽
callback ResultCallback 状态的回调

代码示例:

public void setConversationNotificationStatus(final Conversation.ConversationType conversationType, final String targetId, final Conversation.ConversationNotificationStatus notificationStatus, final ResultCallback<Conversation.ConversationNotificationStatus> callback)

获取会话提醒状态

参数说明:

参数 类型 必填 说明
conversationType Conversation.ConversationType 会话类型
targetId String 目标 Id。根据不同的 conversationType,可能是用户 Id、群组 Id
callback ResultCallback 状态的回调

代码示例:

public void getConversationNotificationStatus(final Conversation.ConversationType conversationType, final String targetId, final ResultCallback<Conversation.ConversationNotificationStatus> callback)

注意事项 (所有会话列表模块都需要此前提条件)

会话提醒状态是保存在融云服务器的,在第一次登录应用时,先通过此方法到服务器同步一下会话提醒状态。

所有会话免打扰

通过此方法设置通知免打扰之后,在所设置的免打扰时间段内,如果应用处于离线状态(即和融云服务器处于断开连接的状态),将不会收到消息推送。

如果处于非离线状态,客户端是仍然可以收到消息的,此时的消息是否提醒逻辑由您自己实现。

设置通知免打扰时间段

参数说明:

参数 类型 必填 说明
startTime String 起始时间 格式 HH:MM:SS
spanMinutes int 设置的免打扰结束时间距离起始时间的间隔分钟数。
callback OperationCallback 消息通知免打扰时间回调

代码示例:

public void setNotificationQuietHours(final String startTime, final int spanMinutes, final OperationCallback callback)

提示

  1. spanMinutes 是指您设置的免打扰结束时间距离起始时间的间隔。比如,您设置的起始时间是 00:00, 结束时间为 23:59,则 spanMinutes 为 23 * 60 + 59 = 1339 分钟。

取消通知免打扰

参数说明:

参数 类型 必填 说明
callback OperationCallback 移除消息通知免打扰时间回调

代码示例:

public void removeNotificationQuietHours(final OperationCallback callback)