Package io.rong.imlib

## Class RongCoreClient

- All Implemented Interfaces:

      public abstract class RongCoreClient

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RongCoreClient()` |

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static RongCoreClient` | `getInstance()` |
    `static void` | `init(Context context)` | 初始化 SDK，在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。
    `static void` | `init(Context context, String appKey)` | 初始化 SDK，在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。
    `static void` | `init(Context context, String appKey, boolean enablePush)` | 初始化 SDK，在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。
    `static void` | `init(Context context, String appKey, boolean enablePush, Boolean isMainProcess)` | 初始化 SDK，在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。
    `static void` | `init(Context context, String appKey, InitOption option)` | 初始化 SDK，在整个应用程序全局，只需要调用一次。
    `static RongCoreClient` | `connect(String token, IRongCoreCallback.ConnectCallback connectCallback)` | 连接融云服务器，在整个应用程序全局，只需要调用一次，需在 init 之后调用。 如果您使用 IMKit，请使用 IMCenter 中的同名方法建立与融云服务器的连接，而不要使用此方法。调用该接口，SDK 会一直尝试重连，直到出现以下两种情况之一： 第一、连接成功，回调 onSuccess(userId)。 第二、出现 SDK 无法处理的错误，回调 onError(errorCode)（如 token 非法），并不再重连。 如果您不想一直进行重连，可以使用 connect(String,int,ConnectCallback) 接口并设置连接超时时间 timeLimit。 连接成功后，SDK 将接管所有的重连处理。当因为网络原因断线的情况下，SDK 会不停重连直到连接成功为止，不需要您做额外的连接操作。
    `static RongCoreClient` | `connect(String token, int timeLimit, IRongCoreCallback.ConnectCallback connectCallback)` | 获取 IMLib 接口类实例，需在执行 init 方法初始化 SDK 后获取, 否则返回值为 null
    `static RongCoreClient` | `connect(String token, int timeLimit, String userId, IRongCoreCallback.ConnectCallback connectCallback)` | 连接融云服务器，在连接前如果能拿到 userId，建议调用此接口进行连接。方便在连接出现问题时，通过 userId 排查原因。
    `static String` | `getVersion()` |
    `static String` | `getCommitId()` | 获取sdk 提交指针
    `static boolean` | `addConnectionStatusListener(IRongCoreListener.ConnectionStatusListener listener)` | 添加连接状态变化的监听器。 当回调的状态为 TOKEN_INCORRECT, 需要获取正确的token, 并主动调用connect。 如果使用 IMKit，使用 RongIM 中同名方法 `setConnectionStatusListener` 。
    `static void` | `setConnectionStatusListener(IRongCoreListener.ConnectionStatusListener listener)` | 设置连接状态变化的监听器。 当回调的状态为 TOKEN_INCORRECT, 需要获取正确的token, 并主动调用connect。 如果使用 IMKit，使用 RongIM 中同名方法 `setConnectionStatusListener` 。
    `static boolean` | `removeConnectionStatusListener(IRongCoreListener.ConnectionStatusListener listener)` | 移除连接状态变化的监听器。
    `abstract void` | `addDatabaseStatusListener(IRongCoreListener.DatabaseUpgradeStatusListener listener)` | 设置数据库升级状态监听器
    `abstract void` | `removeDatabaseStatusListener(IRongCoreListener.DatabaseUpgradeStatusListener listener)` | 移除数据库升级状态监听器
    `static boolean` | `addOnReceiveMessageListener(OnReceiveMessageWrapperListener listener)` | 添加接收消息事件的监听器。 注意:建议设置应用生命周期的全局监听器。
    `static void` | `setOnReceiveMessageListener(IRongCoreListener.OnReceiveMessageListener listener)` | 设置接收消息事件的监听器。 注意:建议设置应用生命周期的全局监听器。
    `static boolean` | `removeOnReceiveMessageListener(OnReceiveMessageWrapperListener listener)` | 移除接收消息事件的监听器。
    `static void` | `setServerInfo(String naviServer, String fileServer)` | 设置私有部署的导航服务器和媒体服务器地址。 可以支持设置 http://cn.xxx.com 或 https://cn.xxx.com 或 cn.xxx.com， 如果设置成 cn.xxx.
    `static void` | `setStatisticDomain(String domain)` | 配置数据上传地址 （非必须）。 配置此地址，SDK 会在初始化时把设备相关信息上传到私有云节点。影响到的功能是开发者后台的广播推送功能，如果私有云客户没有配置该地址，那从后台发推送时，客户端是收不到的。普通的 IM 推送不受影响。 设置数据上传服务器地址。 可以支持设置 http://cn.xxx.com 或者 https://cn.xxx.com 或者 cn.xxx.com。 如果设置成 cn.xxx.
    `static void` | `registerMessageType(Class<out MessageContent> messageContentClass)` | 注册自定义消息类型 请在初始化之后，连接之前调用该方法注册自定义消息。
    `static void` | `registerMessageType(List<Class<out MessageContent>> messageContentClassList)` | 批量注册自定义消息类型 请在初始化之后，连接之前调用该方法注册自定义消息。
    `static void` | `setOnRecallMessageListener(IRongCoreListener.OnRecallMessageListener listener)` | 设置撤回消息监听器
    `static void` | `setTypingStatusListener(IRongCoreListener.TypingStatusListener listener)` | 设置输入状态监听器。 当输入状态发生变化时，回调 onTypingStatusChanged。 对于单聊而言，当对方正在输入时，监听会触发一次；当对方不处于输入状态时，该监听还会触发一次，但回调里输入用户列表为空。
    `static void` | `setReadReceiptListener(IRongCoreListener.ReadReceiptListener listener)` | 设置消息回执监听器。 当收到消息回执时回调 onReadReceiptReceived。
    `static void` | `setRCLogInfoListener(IRongCoreListener.RCLogInfoListener listener)` | 设置 Log 输出监听。 注意：需要在 connect 之前调用！
    `abstract void` | `addConversationsToTag(String tagId, List<ConversationIdentifier> conversationIdentifierList, IRongCoreCallback.OperationCallback callback)` | 添加会话到一个标签
    `abstract void` | `addTag(TagInfo tagInfo, IRongCoreCallback.OperationCallback callback)` | 创建标签
    `abstract void` | `appOnStart()` | 通知 SDK 应用回到前台。 注意：该方法必须在 init 之后调用。 @Deprecated
    `abstract void` | `batchInsertMessage(List<Message> messages, IRongCoreCallback.ResultCallback<Boolean> callback)` | 批量插入接收的消息（该消息只插入本地数据库，实际不会发送给服务器和对方） Message 下列属性会被入库，其余属性会被抛弃 conversationType 会话类型 targetId 会话 ID messageDirection 消息方向 senderUserId 发送者 ID receivedStatus 接收状态；消息方向为接收方且未调用 message.getReceivedStatus().
    `abstract void` | `batchInsertMessage(List<Message> messages, boolean enableCheck, IRongCoreCallback.ResultCallback<Boolean> callback)` | 批量插入接收的消息（该消息只插入本地数据库，实际不会发送给服务器和对方） Message 下列属性会被入库，其余属性会被抛弃 conversationType 会话类型 targetId 会话 ID UId 消息唯一 ID messageDirection 消息方向 senderUserId 发送者 ID receivedStatus 接收状态；消息方向为接收方且未调用 message.getReceivedStatus().
    `abstract void` | `beginDestructMessage(Message message, IRongCoreListener.DestructCountDownTimerListener pListener)` | 开始焚烧消息，仅支持单聊。
    `abstract void` | `cancelDownloadMediaMessage(Message message, IRongCoreCallback.OperationCallback callback)` | 取消多媒体消息下载。
    `abstract void` | `getPrivateDownloadToken(String fileName, IRongCoreCallback.ResultCallback<String> callback)` | 此接口仅适用于私有云 SDK 调用，当前版本不再适用，私有云用户使用新接口 getMediaUploadAuthorInfo
    `abstract void` | `getMediaUploadAuthorInfo(String fileName, String url, IRongCoreCallback.ResultCallback<MediaUploadAuthorInfo> callback)` | 获取多媒体下载私有云Token。
    `abstract void` | `cancelSDKHeartBeat()` | 取消 wakelock 心跳，在连接成功之后调用，整个应用程序全局只需要调用一次。
    `abstract void` | `cancelSendMediaMessage(Message message, IRongCoreCallback.OperationCallback callback)` | 取消发送多媒体文件。
    `abstract void` | `cleanHistoryMessages(ConversationType conversationType, String targetId, long recordTime, boolean cleanRemote, IRongCoreCallback.OperationCallback callback)` | 删除指定时间戳之前的消息，可选择是否同时删除服务器端消息 此方法可从服务器端清除历史消息，但是必须先开通历史消息云存储功能。 根据会话类型和会话 id 清除某一会话指定时间戳之前的本地数据库消息（服务端历史消息）， 清除成功后只能从本地数据库（服务端）获取到该时间戳之后的历史消息。
    `abstract void` | `cleanRemoteHistoryMessages(ConversationType conversationType, String targetId, long recordTime, IRongCoreCallback.OperationCallback callback)` | 清除服务器上存储的历史消息。 根据会话类型和目标会话 id 清除某一会话指定时间戳之前的服务端历史消息, 清除成功后只能从服务端获取到该时间戳之后的历史消息。注意：必须先开通历史消息云存储功能！
    `abstract void` | `clearConversations(IRongCoreCallback.ResultCallback<Boolean> callback, Array<ConversationType> conversationTypes)` | 清空指定会话类型列表中的所有会话及会话消息。
    `abstract void` | `clearConversationsByTag(String tagId, boolean deleteMessage, IRongCoreCallback.ResultCallback<Boolean> callback)` | 删除指定标签下全部会话 注意:此操作会解绑会话与标签的关系，再次调用需要重新绑定关系
    `abstract void` | `clearMessages(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)` | 删除某个会话中的所有消息。 注意：不支持聊天室！
    `abstract void` | `clearMessagesUnreadStatus(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)` | 清除某个会话中的未读消息数。 注意：不支持聊天室，不支持超级群
    `abstract void` | `clearMessagesUnreadStatus(ConversationType conversationType, String targetId, long timestamp, IRongCoreCallback.OperationCallback callback)` | 清除某个会话中的未读消息数。 注意：不支持聊天室，不支持超级群
    `abstract void` | `clearMessagesUnreadStatusByTag(String tagId, IRongCoreCallback.ResultCallback<Boolean> callback)` | 清除指定标签下全部会话的未读消息数
    `abstract void` | `clearTextMessageDraft(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)` | 删除指定会话中的草稿信息。
    `abstract void` | `deleteMessages(Array<int> messageIds, IRongCoreCallback.ResultCallback<Boolean> callback)` | 删除消息。
    `abstract void` | `deleteMessages(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)` | 删除某个会话中的所有消息。 此接口删除指定会话中数据库的所有消息，同时会清理数据库空间，减少占用空间。
    `abstract void` | `deleteRemoteMessages(ConversationType conversationType, String targetId, Array<Message> messages, IRongCoreCallback.OperationCallback callback)` | 批量删除某个会话中的指定远端消息（同时删除对应的本地消息）。 一次批量操作仅支持删除属于同一个会话的消息，请确保消息列表中的所有消息来自同一会话，一次最多删除 100 条消息。注意：不支持聊天室！5.6.9版本以下不支持超级群会话类型，从 5.6.
    `abstract void` | `disconnect()` | 断开与融云服务器的连接，但仍然接收远程推送。 若想断开连接后不接受远程推送消息，可以调用logout。注意：因为 SDK 在前后台切换或者网络出现异常都会自动重连，保证连接可靠性。 所以除非您的 App 逻辑需要登出，否则一般不需要调用此方法进行手动断开。
    `abstract void` | `disconnect(boolean isReceivePush)` | 断开与融云服务器的连接，根据参数选择是否继续接收远程推送。
    `abstract void` | `logout()` | 断开与融云服务器的连接，并且不再接收远程推送消息。 若想断开连接后仍然接受远程推送消息，可以调用 disconnect
    `abstract void` | `downloadMedia(ConversationType conversationType, String targetId, IRongCoreEnum.MediaType mediaType, String imageUrl, IRongCoreCallback.DownloadMediaCallback callback)` | 下载多媒体文件。 如果本地缓存中包含此文件，则从本地缓存中直接获取，否则将从服务器端下载。
    `abstract void` | `downloadMediaMessage(Message message, IRongCoreCallback.IDownloadMediaMessageCallback callback)` | 下载多媒体文件。
    `abstract void` | `downloadMediaFile(String fileUniqueId, String fileUrl, String fileName, String path, IRongCoreCallback.IDownloadMediaFileCallback callback)` | 下载文件。 支持断点续传，对应的暂停下载须调用 pauseDownloadMediaFile。
    `abstract void` | `getBlacklist(IRongCoreCallback.GetBlacklistCallback callback)` | 获取当前用户设置的黑名单列表。
    `abstract void` | `getBlacklistStatus(String userId, IRongCoreCallback.ResultCallback<IRongCoreEnum.BlacklistStatus> callback)` | 获取某用户是否在黑名单中。
    `abstract void` | `getBlockedConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback, Array<ConversationType> conversationTypes)` | 获取免打扰的会话列表。
    `abstract void` | `getConversation(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Conversation> callback)` | 获取单个会话信息。
    `abstract void` | `getConversations(List<ConversationIdentifier> conversationIdentifiers, IRongCoreCallback.ResultCallback<List<Conversation>> callback)` | 获取会话列表的方法。 <p><strong>功能说明：</strong>根据提供的会话标识符列表获取对应的会话对象列表。 <p>可以通过实现此方法来处理会话的获取，例如从数据库中加载会话数据或从网络请求会话数据。
    `abstract void` | `getConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback)` | 获取当前用户本地会话列表，该方法返回的是以下类型的会话列表：私聊，群组，讨论组，系统会话。 此方法会从本地数据库中，读取会话列表。返回的会话列表排序规则为:按照时间从前往后排列，如果有置顶的会话，则置顶的会话会排列在前面。 如果您需要获取其它类型的会话列表,可以使用getConversationList 。 需要在连接数据库打开回调 `OnDatabaseOpened` 后调用，IRongCoreCallback.ConnectCallback 。
    `abstract void` | `getConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback, Array<ConversationType> conversationTypes)` | 根据会话类型，获取当前用户的本地会话列表。
    `abstract void` | `getTopConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback, Array<ConversationType> conversationTypes)` | 根据会话类型,获取置顶会话列表
    `abstract void` | `getUnreadConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback, Array<ConversationType> conversationTypes)` | 根据会话类型，获取当前用户未读的本地会话列表。
    `abstract void` | `getConversationListByPage(IRongCoreCallback.ResultCallback<List<Conversation>> callback, long timeStamp, int count, Array<ConversationType> conversationTypes)` | 分页获取会话列表。
    `abstract void` | `getConversationListByPage(IRongCoreCallback.ResultCallback<List<Conversation>> callback, long timeStamp, int count, boolean topPriority, Array<ConversationType> conversationTypes)` | 分页获取会话列表。
    `abstract void` | `getRemoteConversations(IRongCoreCallback.OperationCallback callback)` | 获取远端会话。
    `abstract void` | `setConversationListener(IRongCoreListener.ConversationListener listener)` | 设置会话列表监听器。
    `abstract void` | `getConversationNotificationStatus(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<ConversationNotificationStatus> callback)` | 获取会话消息提醒状态。 注意：不支持聊天室！
    `abstract void` | `setConversationNotificationStatus(ConversationType conversationType, String targetId, ConversationNotificationStatus notificationStatus, IRongCoreCallback.ResultCallback<ConversationNotificationStatus> callback)` | 设置会话消息提醒状态。 注意：不支持聊天室！
    `abstract void` | `getConversationsFromTagByPage(String tagId, long ts, int count, IRongCoreCallback.ResultCallback<List<Conversation>> callback)` | 分页获取本地指定标签下会话列表功能
    `abstract void` | `getUntaggedConversationListByPage(long timestamp, int count, boolean topPriority, IRongCoreCallback.ResultCallback<List<Conversation>> callback)` | 分页获取未打过标签的会话列表
    `abstract void` | `setConversationsToTop(List<ConversationIdentifier> conversationIdentifiers, boolean isTop, ConversationTopOption option, IRongCoreCallback.ResultCallback<Boolean> callback)` | 更新会话的置顶状态。
    `abstract void` | `getConversationTopStatus(String targetId, ConversationType conversationType, IRongCoreCallback.ResultCallback<Boolean> callback)` | 获取会话的置顶状态 同时设置 setConversationStatusListener 监听器，在onConversationTagChanged回调中更新会话置顶状态，保证会话置顶的准确性
    `abstract void` | `getUnreadCount(String targetId, ConversationType conversationType, Array<String> objectNames, IRongCoreCallback.ResultCallback<Integer> callback)` | 获取指定会话内指定消息类型的未读消息数（聊天室会话除外）
    `abstract void` | `getConversationTopStatusInTag(ConversationIdentifier conversationIdentifier, String tagId, IRongCoreCallback.ResultCallback<Boolean> callback)` | 获取指定会话下的标签置顶状态（不支持超级群）
    `abstract IRongCoreListener.ConnectionStatusListener.ConnectionStatus` | `getCurrentConnectionStatus()` | 获取当前 IM 服务连接状态。
    `abstract String` | `getCurrentUserId()` | 获取当前连接用户的信息。
    `abstract long` | `getDeltaTime()` | 获取本地时间与服务器时间的时间差。 消息发送成功后，SDK 与服务器同步时间，消息所在数据库中存储的时间就是服务器时间。 System.
    `abstract void` | `getDownloadInfo(String tag, IRongCoreCallback.ResultCallback<DownloadInfo> callback)` | 获取媒体文件下载信息。 注意：此方法只适用断点续传下载。
    `abstract int` | `getGIFLimitSize()` | 获取允许发送 GIF 图片大小最大值。
    `abstract void` | `getHistoryMessages(ConversationType conversationType, String targetId, int oldestMessageId, int count, IRongCoreCallback.ResultCallback<List<Message>> callback)` | 获取会话中，从指定消息之前、指定数量的、指定消息类型的最新消息实体。
    `abstract void` | `getHistoryMessages(ConversationType conversationType, String targetId, List<String> objectNames, long timestamp, int count, RongCommonDefine.GetMessageDirection direction, IRongCoreCallback.ResultCallback<List<Message>> callback)` | 获取会话中符合条件的消息列表。 如： 要获取 messageId 为 22 的之前的 10 条图片消息，和文字消息 objectNames 为字符串 List
        objectNames.add("RC:ImgMsg");
        objectNames.add("RC:TxtMsg");
    则相应参数为 getHistoryMessages(conversationType, targetId, objectNames, 22, 10, true, resultCallback)。
    `abstract void` | `getHistoryMessages(ConversationType conversationType, String targetId, String objectName, int baseMessageId, int count, RongCommonDefine.GetMessageDirection direction, IRongCoreCallback.ResultCallback<List<Message>> callback)` | 获取会话中符合条件的消息列表。 如：获取 messageId 为 22 的之前的 10条 图片消息，则相应参数为 getHistoryMessages(conversationType, targetId, "RC:ImgMsg", 22, 10, true, resultCallback)。注意：SDK 退出聊天室时会清除本聊天室历史消息，所以退出后再获取聊天室历史消息时，返回为空
    `abstract void` | `getHistoryMessages(ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count, IRongCoreCallback.ResultCallback<List<Message>> callback)` | 获取会话中符合条件的消息列表。 返回的消息中不包含 oldestMessageId 对应那条消息，如果会话中的消息数量小于参数 count 的值，会将该会话中的所有消息返回。 如：oldestMessageId 为 10，count 为 2，会返回 messageId 为 9 和 8 的 Message 对象列表。注意：SDK 退出聊天室时会清除本聊天室历史消息，所以退出后再获取聊天室历史消息时，返回为空
    `abstract void` | `getHistoryMessages(ConversationType conversationType, String targetId, long sentTime, int before, int after, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)` | 在会话中搜索指定消息的前 `before` 数量和 `after` 数量的消息。 返回的消息列表中会包含指定的消息。消息列表时间顺序从新到旧。
    `abstract List<Message>` | `getHistoryMessages(ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count)` | 获取会话中符合条件的消息列表。
    `abstract List<Message>` | `getHistoryMessages(ConversationType conversationType, String targetId, int oldestMessageId, int count)` | 获取会话中符合条件的消息列表。 如： 要获取 messageId 为 22 的之前的 10 条图片消息，和文字消息 objectNames 为字符串 List
        objectNames.add("RC:ImgMsg");
        objectNames.add("RC:TxtMsg");
    则相应参数为 getHistoryMessages(conversationType, targetId, objectNames, 22, 10, true, resultCallback)。
    `abstract void` | `getLatestMessages(ConversationType conversationType, String targetId, int count, IRongCoreCallback.ResultCallback<List<Message>> callback)` | 获取指定会话的最新消息。
    `abstract void` | `getMessage(int messageId, IRongCoreCallback.ResultCallback<Message> callback)` | 根据消息 id 获取消息体（数据库索引唯一值）。
    `abstract void` | `getMessageByUid(String uid, IRongCoreCallback.ResultCallback<Message> callback)` | 通过全局唯一 id 获取消息实体。
    `abstract void` | `getMessageCount(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Integer> callback)` | 获取指定会话的消息总数。
    `abstract void` | `getMessages(ConversationType conversationType, String targetId, HistoryMessageOption historyMsgOption, IRongCoreCallback.IGetMessageCallback callback)` | 获取指定会话历史消息。 此方法先从本地获取历史消息，本地有缺失的情况下会从服务端同步缺失的部分；从服务端同步失败的时候会返回非 0 的 errorCode，同时把本地能取到的消息回调上去。 必须开通历史消息云存储功能。 以下为单群聊场景下的详细说明： 产生消息断档的典型情况有： 1.
    `abstract void` | `getNotificationQuietHours(IRongCoreCallback.GetNotificationQuietHoursCallback callback)` | 获取消息通知免打扰时间。
    `abstract void` | `getOfflineMessageDuration(IRongCoreCallback.ResultCallback<String> callback)` | 获取离线消息时间（以天为单位）。
    `abstract void` | `getPushContentShowStatus(IRongCoreCallback.ResultCallback<Boolean> callback)` | 获取是否显示远程推送内容详情设置。
    `abstract void` | `getPushLanguage(IRongCoreCallback.ResultCallback<IRongCoreEnum.PushLanguage> callback)` | 获取远程推送语言设置。
    `abstract void` | `getPushReceiveStatus(IRongCoreCallback.ResultCallback<Boolean> callback)` | 获取是否接收远程推送的设置。 前提: 移动端不在线，Web 、MAC/PC 终端在线，移动端是否接收远程推送。
    `abstract void` | `getRemoteHistoryMessages(ConversationType conversationType, String targetId, long dateTime, int count, IRongCoreCallback.ResultCallback<List<Message>> callback)` | 从服务器端获取指定时间之前的历史消息。 区别于 getHistoryMessages，该接口是从融云服务器中拉取。从服务端拉取消息后，客户端会做排重，返回排重后的数据。通常用于更换新设备后，拉取历史消息。 使用的时候，建议优先通过 getHistoryMessages 从本地数据库拉取历史消息， 当本地数据库没有历史消息后，再通过此接口获取服务器历史消息，时间戳传入本地数据库里最早的消息时间戳。注意： 1.
    `abstract void` | `getRemoteHistoryMessages(ConversationType conversationType, String targetId, RemoteHistoryMsgOption remoteHistoryMsgOption, IRongCoreCallback.ResultCallback<List<Message>> callback)` | 获取指定会话远端历史消息。 此功能需要在融云开发者后台开启历史消息云存储功能。注意：不支持聊天室！
    `abstract long` | `getSendTimeByMessageId(int messageId)` | 根据消息 id 获取消息发送时间。
    `abstract void` | `getTags(IRongCoreCallback.ResultCallback<List<TagInfo>> callback)` | 获取用户标签
    `abstract void` | `getTagsFromConversation(ConversationIdentifier conversationIdentifier, IRongCoreCallback.ResultCallback<List<ConversationTagInfo>> callback)` | 获取指定会话下的所有标签
    `abstract void` | `getTextMessageDraft(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<String> callback)` | 获取会话中的草稿信息。
    `abstract void` | `getTheFirstUnreadMessage(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Message> callback)` | 获取第一条未读消息。
    `abstract Activity` | `getTopForegroundActivity()` | 获取处于前台的最上层 Activity。
    `abstract void` | `getTotalUnreadCount(IRongCoreCallback.ResultCallback<Integer> callback)` | 获取所有会话的总未读消息数。 注意：不包含聊天室，聊天室消息不计数。
    `abstract void` | `getTotalUnreadCount(IRongCoreCallback.ResultCallback<Integer> callback, Array<Conversation> conversations)` | 获取所有指定会话的总未读消息数。 注意：不包含聊天室，聊天室消息不计数。
    `abstract Collection<TypingStatus>` | `getTypingUserListFromConversation(ConversationType conversationType, String targetId)` | 获取会话正在输入的用户列表
    `abstract void` | `getUnreadCount(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Integer> callback)` | 获取指定会话的未读消息数。 注意：不包含聊天室，聊天室消息不计数。
    `abstract void` | `getUnreadCount(Array<ConversationType> conversationTypes, boolean containBlocked, IRongCoreCallback.ResultCallback<Integer> callback)` | 获取指定会话类型的总未读消息数。 注意：不包含聊天室，聊天室消息不计数。
    `abstract void` | `getUnreadCount(Array<ConversationType> conversationTypes, IRongCoreCallback.ResultCallback<Integer> callback)` | 获取指定会话类型的总未读消息数。 注意：不包含聊天室，聊天室消息不计数。
    `abstract void` | `getUnreadCount(IRongCoreCallback.ResultCallback<Integer> callback, Array<ConversationType> conversationTypes)` | 获取指定会话类型的总未读消息数。 注意：不包含聊天室，聊天室消息不计数。
    `abstract void` | `getUnreadMentionedMessages(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<List<Message>> callback)` | 获取会话中未读的 @ 消息。
    `abstract void` | `getUnreadMentionedMessages(ConversationType conversationType, String targetId, int count, boolean desc, IRongCoreCallback.ResultCallback<List<Message>> callback)` |
    `abstract void` | `getVendorToken(IRongCoreCallback.ResultCallback<String> resultCallback)` | 获取登录者身份认证信息。 第三方厂商通过使用此接口获取 token，然后与厂商的注册信息一起去融云服务器做认证。
    `abstract int` | `getVideoLimitTime()` | 获取允许发送视频文件的最大时长。
    `abstract void` | `insertIncomingMessage(ConversationType type, String targetId, String senderUserId, ReceivedStatus receivedStatus, MessageContent content, IRongCoreCallback.ResultCallback<Message> resultCallback)` | 向本地会话中插入一条消息，方向为接收。 这条消息只是插入本地会话，不会实际发送给服务器和对方。插入消息需为入库消息，即 ISPERSISTED，否者会回调 RC_INVALID_PARAMETER_MSG_TAG。
    `abstract void` | `insertIncomingMessage(ConversationType type, String targetId, String senderUserId, ReceivedStatus receivedStatus, MessageContent content, long sentTime, IRongCoreCallback.ResultCallback<Message> resultCallback)` | 向本地会话中插入一条消息，方向为接收。 这条消息只是插入本地会话，不会实际发送给服务器和对方。插入消息需为入库消息，即 ISPERSISTED，否者会回调 RC_INVALID_PARAMETER_MSG_TAG。
    `abstract void` | `insertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, IRongCoreCallback.ResultCallback<Message> resultCallback)` | 向本地会话中插入一条消息。 这条消息只是插入本地会话，不会实际发送给服务器和对方。 插入消息需为入库消息，即ISPERSISTED，否者会回调 RC_INVALID_PARAMETER_MSG_TAG
    `abstract void` | `insertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, long sentTime, IRongCoreCallback.ResultCallback<Message> resultCallback)` | 向本地会话中插入一条消息，方向为发送。 这条消息只是插入本地会话，不会实际发送给服务器和对方。 插入消息需为入库消息，即 ISPERSISTED，否者会回调 RC_INVALID_PARAMETER_MSG_TAG
    `abstract boolean` | `isFileDownloading(Object uid)` | 判断文件是否正在下载中。 注意：此方法只适用断点续传下载。
    `abstract void` | `pauseDownloadMediaFile(String fileUniqueId, IRongCoreCallback.OperationCallback callback)` | 暂停多媒体文件下载。
    `abstract void` | `pauseDownloadMediaMessage(Message message, IRongCoreCallback.OperationCallback callback)` | 暂停多媒体消息下载。
    `abstract void` | `recallMessage(Message message, String pushContent, IRongCoreCallback.ResultCallback<RecallNotificationMessage> callback)` | 撤回消息
    `abstract void` | `recallMessage(Message message, RecallMessageOption recallMessageOption, String pushContent, IRongCoreCallback.ResultCallback<Message> callback)` | 撤回消息
    `abstract void` | `removeConversation(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)` | 从会话列表中移除某一会话。 此方法不删除会话内的消息。如果此会话中有新的消息，该会话将重新在会话列表中显示，并显示最近的历史消息。
    `abstract void` | `removeConversation(ConversationType conversationType, String targetId, boolean isDeleteRemote, IRongCoreCallback.OperationCallback callback)` | 从会话列表中移除某一会话。 此方法不删除会话内的消息。如果此会话中有新的消息，该会话将重新在会话列表中显示，并显示最近的历史消息。
    `abstract void` | `removeConversationsFromTag(String tagId, List<ConversationIdentifier> conversationIdentifierList, IRongCoreCallback.OperationCallback callback)` | 删除指定一个标签中会话功能
    `abstract void` | `removeFromBlacklist(String userId, IRongCoreCallback.OperationCallback callback)` | 将某个用户从黑名单中移出。
    `abstract void` | `removeMessageExpansion(List<String> keyArray, String messageUId, IRongCoreCallback.OperationCallback callback)` | 删除消息扩展信息中特定的键值对
    `abstract void` | `removeNotificationQuietHours(IRongCoreCallback.OperationCallback callback)` | 移除消息通知免打扰时间。
    `abstract void` | `removeTag(String tagId, IRongCoreCallback.OperationCallback callback)` | 移除标签
    `abstract void` | `removeTagsFromConversation(ConversationIdentifier conversationIdentifier, List<String> tagIds, IRongCoreCallback.OperationCallback callback)` | 删除指定会话中的某些标签
    `abstract void` | `saveTextMessageDraft(ConversationType conversationType, String targetId, String content, IRongCoreCallback.ResultCallback<Boolean> callback)` | 保存会话草稿信息。
    `abstract void` | `searchConversations(String keyword, Array<ConversationType> conversationTypes, Array<String> objectNames, IRongCoreCallback.ResultCallback<List<SearchConversationResult>> resultCallback)` | 根据关键字搜索会话。 此方法可快速返回匹配的会话列表，并且会话中包含已匹配的消息数量。通过 {SearchConversationResult#getMatchCount()} 得到。注意：如果需要自定义消息也能被搜索到，需要在自定义消息中实现 getSearchableWord 方法。
    `abstract void` | `searchMessages(ConversationType conversationType, String targetId, String keyword, int count, long beginTime, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)` | 根据关键字搜索指定会话中的消息。 注意：如果需要自定义消息也能被搜索到，需要在自定义消息中实现 getSearchableWord 方法。
    `abstract void` | `searchMessages(ConversationType conversationType, String targetId, String keyword, long startTime, long endTime, int offset, int limit, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)` | 根据关键字，指定时间段搜索指定会话中的消息。 注意：如果需要自定义消息也能被搜索到，需要在自定义消息中实现 getSearchableWord 方法。
    `abstract void` | `searchMessages(ConversationIdentifier conversationIdentifier, String keyword, Array<String> objectNameList, int limit, long startTime, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)` | 根据关键字搜索指定会话中，指定消息类型的本地历史消息 此方法允许应用根据关键词、对象名列表、时间范围等条件在一个特定对话中搜索消息。搜索结果将通过回调方式返回。
    `abstract void` | `searchMessagesByUser(ConversationType conversationType, String targetId, String userId, int count, long beginTime, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)` | 根据用户 id 搜索指定会话中的消息。 注意：如果需要自定义消息也能被搜索到，需要在自定义消息中实现 getSearchableWord 方法。
    `abstract void` | `sendDirectionalMediaMessage(Message message, Array<String> userIds, String pushContent, String pushData, IRongCoreCallback.ISendMediaMessageCallback callback)` | 发送定向多媒体消息。 向会话中特定的某些用户发送消息，会话中其他用户不会收到消息。 发送前构造 Message 消息实体，消息实体中的 content 必须为多媒体消息。 例如：ImageMessage 、 或其他继承自 MediaMessageContent 的消息。 从 5.6.
    `abstract void` | `sendDirectionalMessage(ConversationType type, String targetId, MessageContent content, Array<String> userIds, String pushContent, String pushData, IRongCoreCallback.ISendMessageCallback callback)` | 发送定向消息。 此方法用于在群组、超级群中发送消息给其中的部分用户，其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息，多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib，可以使用此方法发送定向消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送定向消息，否则不会自动更新 UI。 从 5.6.
    `abstract void` | `sendDirectionalMessage(Message message, Array<String> userIds, String pushContent, String pushData, IRongCoreCallback.ISendMessageCallback callback)` | 发送定向消息。 此方法用于在群组、超级群中发送消息给其中的部分用户，其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息，多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib，可以使用此方法发送定向消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送定向消息，否则不会自动更新 UI。 从 5.6.
    `abstract void` | `sendDirectionalMessage(ConversationType type, String targetId, MessageContent content, Array<String> userIds, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMessageCallback callback)` | 发送定向消息。 此方法用于在群组、超级群中发送消息给其中的部分用户，其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息，多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib，可以使用此方法发送定向消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送定向消息，否则不会自动更新 UI。 从 5.6.
    `abstract void` | `sendDirectionalMessage(Message message, Array<String> userIds, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMessageCallback callback)` | 发送定向消息。 此方法用于在群组、超级群中发送消息给其中的部分用户，其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息，多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib，可以使用此方法发送定向消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送定向消息，否则不会自动更新 UI。 从 5.6.
    `abstract void` | `sendImageMessage(ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, IRongCoreCallback.SendImageMessageCallback callback)` | 发送图片消息。 如果您使用IMLib，可以使用此方法发送图片消息； 如果您使用 IMKit，请使用 RongIM 中的同名方法发送图片消息，否则不会自动更新 UI。
    `abstract void` | `sendImageMessage(Message message, String pushContent, String pushData, IRongCoreCallback.SendImageMessageCallback callback)` | 发送图片消息。 如果您使用IMLib，可以使用此方法发送图片消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送图片消息，否则不会自动更新 UI。
    `abstract void` | `sendImageMessage(Message message, String pushContent, String pushData, IRongCoreCallback.SendImageMessageWithUploadListenerCallback callback)` | 发送图片消息并将图片上传到自己的服务器。 该方法将图片上传到自己的服务器发送，同时更新图片状态。 使用该方法在上传图片时，会回调 此回调中会携带 对象，使用者只需要调用其中的 update 更新进度 success 更新成功状态，并告知上传成功后的图片地址 error 更新失败状态
    `abstract void` | `sendMediaMessage(Message message, String pushContent, String pushData, IRongCoreCallback.ISendMediaMessageCallback callback)` | 发送多媒体消息。 发送前构造 Message 消息实体，消息实体中的 content 必须为多媒体消息。 例如：ImageMessage 、 或其他继承自 MediaMessageContent 的消息。
    `abstract void` | `sendMediaMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMediaMessageCallback callback)` | 发送多媒体消息。 发送前构造 Message 消息实体，消息实体中的 content 必须为多媒体消息。 例如：ImageMessage 、 或其他继承自 MediaMessageContent 的消息。
    `abstract void` | `sendMediaMessage(Message message, String pushContent, String pushData, IRongCoreCallback.ISendMediaMessageCallbackWithUploader callback)` | 发送多媒体消息，可以使用该方法将多媒体文件上传到自己的服务器。 上传多媒体文件时，会回调 onAttached 此回调中携带 对象，使用者只需要调用此对象中的 update 更新进度 success 更新成功状态，并告知上传成功后的文件地址 error 更新失败状态 cancel ()} 更新取消状态
    `abstract void` | `sendMediaMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMediaMessageCallbackWithUploader callback)` | 发送多媒体消息，可以使用该方法将多媒体文件上传到自己的服务器。 上传多媒体文件时，会回调 onAttached 此回调中携带 对象，使用者只需要调用此对象中的 update 更新进度 success 更新成功状态，并告知上传成功后的文件地址 error 更新失败状态 cancel ()} 更新取消状态
    `abstract void` | `sendMessage(ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, IRongCoreCallback.ISendMessageCallback callback)` | 根据会话类型，发送消息。 通过 io.rong.imlib.IRongCoreCallback.
    `abstract void` | `sendMessage(Message message, String pushContent, String pushData, IRongCoreCallback.ISendMessageCallback callback)` | 发送消息。 通过 io.rong.imlib.IRongCoreCallback.
    `abstract void` | `sendMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMessageCallback callback)` | 发送消息。 通过 io.rong.imlib.IRongCoreCallback.
    `abstract void` | `sendPing()` | OEM 实现心跳对齐，发送 Ping 接口 1.后台 WakeLock 心跳 2.
    `abstract void` | `sendReadReceiptMessage(ConversationType conversationType, String targetId, long timestamp)` | 发送某个会话中的消息阅读回执 使用 IMLib 可以注册监听 setReadReceiptListener；使用 IMkit 直接设置 rc_config.
    `abstract void` | `sendReadReceiptMessage(ConversationType conversationType, String targetId, long timestamp, IRongCoreCallback.ISendMessageCallback callback)` | 发送某个会话中的消息阅读回执。 使用 IMLib 可以注册监听 setReadReceiptListener；使用 IMkit 直接设置 rc_config.
    `abstract void` | `sendReadReceiptRequest(Message message, IRongCoreCallback.OperationCallback callback)` | 发起消息已读回执请求（只支持群组和讨论组）。 注意：只能对自己发送的消息发起消息已读回执请求。
    `abstract void` | `sendReadReceiptResponse(ConversationType type, String targetId, List<Message> messageList, IRongCoreCallback.OperationCallback callback)` | 发送已读回执（只支持群组和讨论组）
    `abstract void` | `sendTypingStatus(ConversationType conversationType, String targetId, String typingContentType)` | 向会话中发送正在输入的状态，目前只支持单聊。
    `abstract void` | `setConversationStatusListener(IRongCoreListener.ConversationStatusListener listener)` | 设置会话状态（置顶和免打扰）多端同步监听
    `abstract void` | `setReadReceiptV4Listener(IRongCoreListener.ReadReceiptV4Listener listener)` |
    `abstract void` | `setConversationTagListener(IRongCoreListener.ConversationTagListener listener)` | 设置 Tag 多端同步监听
    `abstract void` | `setConversationToTopInTag(String tagId, ConversationIdentifier conversationIdentifier, boolean isTop, IRongCoreCallback.OperationCallback callback)` | 设置标签中会话置顶状态
    `abstract void` | `setConversationToTop(ConversationType conversationType, String targetId, boolean isTop, boolean needCreate, IRongCoreCallback.ResultCallback<Boolean> callback)` | 设置会话的置顶状态。 若会话不存在，调用此方法 SDK 自动创建会话并置顶。
    `abstract void` | `setConversationToTop(ConversationType conversationType, String id, boolean isTop, boolean needCreate, boolean needUpdateTime, IRongCoreCallback.ResultCallback<Boolean> callback)` | 设置会话的置顶状态。 若会话不存在，调用此方法 SDK 自动创建会话并置顶。
    `abstract void` | `setConversationToTop(ConversationType conversationType, String targetId, boolean isTop, IRongCoreCallback.ResultCallback<Boolean> callback)` | 设置会话的置顶状态。 若会话不存在，调用此方法 SDK 自动创建会话并置顶。
    `abstract void` | `setMessageBlockListener(IRongCoreListener.MessageBlockListener listener)` | 设置敏感词消息被拦截的监听。
    `abstract void` | `setMessageExpansionListener(IRongCoreListener.MessageExpansionListener listener)` | 设置消息扩展监听
    `abstract void` | `setMessageExtra(int messageId, String value, IRongCoreCallback.ResultCallback<Boolean> callback)` | 设置本地消息的附加信息。 用于扩展消息的使用场景。设置后可以通过 getHistoryMessages 取出带附加信息的消息。注意：只能用于本地使用，无法同步给远程用户。
    `abstract void` | `setMessageReadTime(long messageId, long timestamp, IRongCoreCallback.OperationCallback callback)` | 设置消息已读时间。
    `abstract void` | `setMessageReceivedStatus(int messageId, ReceivedStatus receivedStatus, IRongCoreCallback.ResultCallback<Boolean> callback)` | 设置消息接收状态。
    `abstract void` | `setMessageSentStatus(Message message, IRongCoreCallback.ResultCallback<Boolean> callback)` | 设置消息发送状态。 备注：用户不允许设置为SENDING
    `abstract void` | `setNotificationQuietHours(String startTime, int spanMinutes, IRongCoreCallback.OperationCallback callback)` | 设置消息通知免打扰时间。
    `abstract void` | `setOfflineMessageDuration(int duration, IRongCoreCallback.ResultCallback<Long> callback)` | 设置离线消息在服务端的存储时间（以天为单位）。 注意：该功能需要客户提工单，在服务端开通此功能后，客户端调用该方法才生效。
    `abstract void` | `setOnReceiveDestructionMessageListener(IRongCoreListener.OnReceiveDestructionMessageListener listener)` | 设置阅后即焚消息接收监听器
    `abstract void` | `setPushContentShowStatus(boolean showStatus, IRongCoreCallback.OperationCallback callback)` | 设置是否显示远程推送内容详情。 注意：此功能需要从服务端开启用户设置功能。
    `abstract void` | `setPushLanguage(IRongCoreEnum.PushLanguage language, IRongCoreCallback.OperationCallback callback)` | 设置远程推送语言，目前支持中文和英文。 前提：移动端未在线，Web 、MAC/PC 终端在线，移动端是否接收远程推送。注意：此功能需要从服务端开启用户设置功能。
    `abstract void` | `setPushLanguageCode(String language, IRongCoreCallback.OperationCallback callback)` | 设置推送内容的自然语言。
    `abstract void` | `setPushNotificationListener(IRongCoreListener.PushNotificationListener listener)` | 设置推送相关配置信息改变的监听 服务器配置的信息，例如：推送语言，通知消息是否显示详情等改变时，在第一次链接成功初始化回调该方法
    `abstract void` | `setPushReceiveStatus(boolean receiveStatus, IRongCoreCallback.OperationCallback callback)` | 设置是否接收远程推送。 注意：此功能需要从服务端开启用户设置功能。
    `abstract void` | `setReconnectKickEnable(boolean enable)` | 设置断线重连时是否踢出重连设备。 用户没有开通多设备登录功能的前提下，同一个账号在一台新设备上登录的时候，会把这个账号在之前登录的设备上踢出。 由于 SDK 有断线重连功能，存在下面情况： 用户在 A 设备登录，A 设备网络不稳定，没有连接成功，SDK 启动重连机制。 用户此时又在 B 设备登录，B 设备连接成功。 A 设备网络稳定之后，用户在 A 设备连接成功，B 设备被踢出。 这个接口就是为这种情况加的。 设置 enable 为 `true` 时，SDK 重连的时候发现此时已有别的设备连接成功，不再强行踢出已有设备，而是踢出重连设备。注意： 1.
    `abstract void` | `setRLogFileMaxSize(long pSize)` | 设置业务日志文件大小，默认 1M。 接口及时生效，超过设置大小压缩成 zip 文件存放到本地。
    `abstract void` | `setRLogLevel(int pLevel)` | 设置控制台日志级别。在初始化后设置
    `abstract void` | `setSyncConversationReadStatusListener(IRongCoreListener.SyncConversationReadStatusListener listener)` | 设置多端同步会话阅读状态监听。
    `abstract void` | `setTagListener(IRongCoreListener.TagListener listener)` | 设置会话标签更改时的回调。 当用户在其它端添加移除更新标签时会触发此监听器，用于多端之间的信息同步。 收到此回调，可调用 getTags 获取最新标签信息。 请在初始化之后，连接之前调用该方法。
    `abstract void` | `setUploadCallback(UploadCallback pCallback)` | 设置上传 RLog 日志到服务器的回调。
    `abstract void` | `stopDestructMessage(Message message)` | 取消焚烧消息，仅支持单聊。
    `abstract void` | `supportResumeBrokenTransfer(String url, IRongCoreCallback.ResultCallback<Boolean> callback)` | 判断是否支持断点续传。
    `abstract void` | `switchAppKey(String appKey)` | 切换 appKey。 当一个应用对应多个环境， 即多个 appKey 时， 调用此方法实现融云 SDK 热切换。 注意: 调用此方法后, 还需要再次调用 init 和 connect,传入新 appKey 对应的 token，重新初始化和连接。
    `abstract void` | `syncConversationReadStatus(ConversationType type, String targetId, long timestamp, IRongCoreCallback.OperationCallback callback)` | 同步会话阅读状态。
    `abstract void` | `updateConversationInfo(ConversationType conversationType, String targetId, String title, String portrait, IRongCoreCallback.ResultCallback<Boolean> callback)` | 更新会话信息。
    `abstract void` | `updateMessageExpansion(Map<String, String> expansion, String messageUId, IRongCoreCallback.OperationCallback callback)` | 更新消息扩展信息 每条消息携带扩展信息键值对最大值 300个，单次设置扩展信息键值对最大值 20个
    `abstract void` | `addToBlacklist(String userId, IRongCoreCallback.OperationCallback callback)` | 将某个用户加入黑名单。 将对方加入黑名单后，对方再发消息时，提示"您的消息已经发出, 但被对方拒收"。但您仍然可以给对方发送消息。
    `abstract Map` | `doMethod(String clazzName, String methodKey, Map param)` |
    `abstract void` | `updateTag(TagInfo tagInfo, IRongCoreCallback.OperationCallback callback)` | 更新标签
    `abstract void` | `getUnreadCountByTag(String tagId, boolean containBlocked, IRongCoreCallback.ResultCallback<Integer> callback)` | 按标签获取未读消息数
    `abstract RCConfiguration` | `getRCConfiguration()` | IM 相关配置
    `abstract void` | `updateRcConfiguration(RCConfiguration configuration)` | 更新 RCConfiguration 必须在 init 方法执行之后设置才会生效
    `abstract boolean` | `isTextTranslationSupported()` | 是否支持翻译功能
    `abstract TranslationInfo` | `getTranslationInfo(int messageId, String language)` | 获取翻译的缓存信息
    `abstract void` | `saveMessageTranslation(int messageId, String content, String targetLanguage)` | 保存翻译
    `abstract String` | `getAIAddress()` | 获取翻译地址
    `abstract void` | `setAppVer(String appVer)` | 设置集成融云 SDK 的用户应用版本信息。 注意：需在 init 之后调用。
    `abstract void` | `setPingTimeOut(int time)` |
    `abstract void` | `enableSingleProcess(boolean enable)` | 设置是否启用单进程。 注意：需在 init 之前调用。
    `abstract boolean` | `setProxy(RCIMProxy proxy)` | 设置代理
    `abstract RCIMProxy` | `getCurrentProxy()` | 获取当前代理
    `abstract void` | `setCheckDuplicateMessage(boolean enableCheck)` | 设置融云消息重排开关 发送方弱网情况下发送消息，消息到达服务但发送方没有收到服务 ack，导致发送方认为消息发送失败 此种情况下，服务端和接收方都会收到第一条消息 此时发送方重发该消息，再次达到服务，那么此时服务端会有两条消息（消息内容相同，messageUid 不同） 接收方会收到两条内容相同 messageUid 不同的消息，SDK 此时会把第二条相同内容消息排重掉 以此来保证重发的相同内容消息，发送方只有一条消息，接收方也只有一条消息 当消息量少时，消息排重影响不大；但是本地存在大量消息时，排重会出现性能问题 当 APP 本地存在大量消息，且发生收消息卡顿时，建议将排重关闭
    `abstract String` | `getMinioOSSAddr()` |
    `abstract void` | `sendReadReceiptMessageV4(ConversationType conversationType, String targetId, String startMessageUID, String endMessageUID, IRongCoreCallback.OperationCallback callback)` | 发送已读回执v4(支持单群聊)
    `abstract void` | `getMessageReadReceiptV4(String targetId, String messageUID, IRongCoreCallback.ResultCallbackEx<Integer, Integer, List<GroupMessageReader>> callback)` | 获取某个会话中的消息阅读回执V4
    `abstract void` | `subscribeEvent(SubscribeEventRequest request, IRongCoreCallback.SubscribeEventCallback<List<String>> callback)` | 订阅用户状态事件。 此方法用于订阅一组用户的状态。当这些用户的状态发生变化时，将通过回调接口通知调用者。
    `abstract void` | `unSubscribeEvent(SubscribeEventRequest request, IRongCoreCallback.SubscribeEventCallback<List<String>> callback)` | 取消订阅用户状态事件。 此方法用于取消已经订阅的用户状态事件。
    `abstract void` | `addSubscribeEventListener(OnSubscribeEventListener listener)` | 添加订阅事件监听器。 用于添加一个监听器来接收所有订阅的用户状态变化事件。
    `abstract void` | `querySubscribeEvent(SubscribeEventRequest request, IRongCoreCallback.ResultCallback<List<SubscribeInfoEvent>> callback)` | 查询当前的订阅事件状态。 此方法用于获取当前所有订阅的事件的状态信息。
    `abstract void` | `querySubscribeEvent(SubscribeEventRequest request, int pageSize, int startIndex, IRongCoreCallback.ResultCallback<List<SubscribeInfoEvent>> callback)` |
    `abstract void` | `updateMyUserProfile(UserProfile profile, IRongCoreCallback.UpdateUserProfileCallback callback)` | 更新用户资料 注意：建议先获取用户资料，在最新的用户资料基础之上更新用户资料
    `abstract void` | `updateMyUserProfile(UserProfile profile, IRongCoreCallback.ExamineOperationCallback callback)` | 更新用户资料 注意：建议先获取用户资料，在最新的用户资料基础之上更新用户资料
    `abstract void` | `getUserProfiles(List<String> userIdList, IRongCoreCallback.ResultCallback<List<UserProfile>> callback)` | 批量获取用户资料
    `abstract void` | `getMyUserProfile(IRongCoreCallback.ResultCallback<UserProfile> callback)` | 获取当前用户资料
    `abstract void` | `updateMyUserProfileVisibility(UserProfileVisibility visibility, IRongCoreCallback.ResultCallback<Boolean> callback)` | 用户权限设置
    `abstract void` | `getMyUserProfileVisibility(IRongCoreCallback.ResultCallback<UserProfileVisibility> callback)` | 用户权限获取
    `abstract void` | `setDatabaseOperationTimeThreshold(int milliseconds)` |
    `abstract void` | `searchUserProfileByUniqueId(String uniqueId, IRongCoreCallback.ResultCallback<UserProfile> callback)` | 按用户应用号精确搜索用户信息
    `abstract void` | `createGroup(GroupInfo groupInfo, List<String> inviteeUserIds, IRongCoreCallback.CreateGroupCallback callback)` | 创建群组 注意： 群信息（GroupInfo）支持设置的属性： 1，群ID（id），最大长度 64 个字符。支持大小写英文字母与数字的组合 2，群名称（name），最长不超过 64 个字符 3，群头像（portraitUri），长度不超过 128 个字符 4，群简介（introduction），最大长度不超过 512 个字符 5，群公告（notice），最大长度不超过 1024 个字符 6，群扩展信息（extProfile），默认最多可设置 10 个，需要通过开发者后台或 API 设置后才能使用，否则设置失败 7，主动加入群权限模式（joinPermission） 8，将群成员移出群组设置模式（removeMemberPermission） 9，邀请他人入群模式（invitePermission） 10，被邀请入群模式（inviteHandlePermission） 11，群信息更新模式（groupInfoEditPermission） 12，群成员信息更新模式（memberInfoEditPermission） 其中：群ID（id）、群名称（name）必填，否则接口调用失败。 具体参照io.rong.imlib.model.
    `abstract void` | `createGroup(GroupInfo groupInfo, List<String> inviteeUserIds, IRongCoreCallback.ExamineCreateGroupCallback callback)` | 创建群组 注意： 群信息（GroupInfo）支持设置的属性： 1，群ID（id），最大长度 64 个字符。支持大小写英文字母与数字的组合 2，群名称（name），最长不超过 64 个字符 3，群头像（portraitUri），长度不超过 128 个字符 4，群简介（introduction），最大长度不超过 512 个字符 5，群公告（notice），最大长度不超过 1024 个字符 6，群扩展信息（extProfile），默认最多可设置 10 个，需要通过开发者后台或 API 设置后才能使用，否则设置失败 7，主动加入群权限模式（joinPermission） 8，将群成员移出群组设置模式（removeMemberPermission） 9，邀请他人入群模式（invitePermission） 10，被邀请入群模式（inviteHandlePermission） 11，群信息更新模式（groupInfoEditPermission） 12，群成员信息更新模式（memberInfoEditPermission） 其中：群ID（id）、群名称（name）必填，否则接口调用失败。 具体参照io.rong.imlib.model.
    `abstract void` | `updateGroupInfo(GroupInfo groupInfo, IRongCoreCallback.OperationCallbackEx<String> callback)` | 更新群组资料 群信息更新模式 groupInfoEditPermission ，决定是否可以修改群组资料及权限信息 注意： 群信息（GroupInfo）支持设置的属性： 1，群ID（id），最大长度 64 个字符。支持大小写英文字母与数字的组合 2，群名称（name），最长不超过 64 个字符 3，群头像（portraitUri），长度不超过 128 个字符 4，群简介（introduction），最大长度不超过 512 个字符 5，群公告（notice），最大长度不超过 1024 个字符 6，群扩展信息（extProfile），默认最多可设置 10 个，需要通过开发者后台或 API 设置后才能使用，否则设置失败 7，主动加入群权限模式（joinPermission） 8，将群成员移出群组设置模式（removeMemberPermission） 9，邀请他人入群模式（invitePermission） 10，被邀请入群模式（inviteHandlePermission） 11，群信息更新模式（groupInfoEditPermission） 12，群成员信息更新模式（memberInfoEditPermission） 其中：群ID（id）、群名称（name）必填，否则接口调用失败。 具体参照io.rong.imlib.model.
    `abstract void` | `updateGroupInfo(GroupInfo groupInfo, IRongCoreCallback.ExamineOperationCallback callback)` | 更新群组资料 群信息更新模式 groupInfoEditPermission ，决定是否可以修改群组资料及权限信息 注意： 群信息（GroupInfo）支持设置的属性： 1，群ID（id），最大长度 64 个字符。支持大小写英文字母与数字的组合 2，群名称（name），最长不超过 64 个字符 3，群头像（portraitUri），长度不超过 128 个字符 4，群简介（introduction），最大长度不超过 512 个字符 5，群公告（notice），最大长度不超过 1024 个字符 6，群扩展信息（extProfile），默认最多可设置 10 个，需要通过开发者后台或 API 设置后才能使用，否则设置失败 7，主动加入群权限模式（joinPermission） 8，将群成员移出群组设置模式（removeMemberPermission） 9，邀请他人入群模式（invitePermission） 10，被邀请入群模式（inviteHandlePermission） 11，群信息更新模式（groupInfoEditPermission） 12，群成员信息更新模式（memberInfoEditPermission） 其中：群ID（id）、群名称（name）必填，否则接口调用失败。 具体参照io.rong.imlib.model.
    `abstract void` | `getGroupsInfo(List<String> groupIds, IRongCoreCallback.ResultCallback<List<GroupInfo>> callback)` | 批量获取群组资料 注意：只返回已存在的群组信息
    `abstract void` | `kickGroupMembers(String groupId, List<String> userIds, QuitGroupConfig config, IRongCoreCallback.OperationCallback callback)` | 踢出群组 注意：用户退出后，群会话信息仍然保留，但不再能接收此群的消息，本地历史消息不删除
    `abstract void` | `quitGroup(String groupId, QuitGroupConfig config, IRongCoreCallback.OperationCallback callback)` | 退出群组 注意：用户退出后，群会话信息仍然保留，但不再能接收此群的消息，本地历史消息不删除
    `abstract void` | `dismissGroup(String groupId, IRongCoreCallback.OperationCallback callback)` | 解散群组 注意：只有群主，可以解散自已创建的群组，解散后群会话信息仍然保留，本地历史消息不做删除处理
    `abstract void` | `transferGroupOwner(String groupId, String newOwnerId, boolean quitGroup, QuitGroupConfig config, IRongCoreCallback.OperationCallback callback)` | 转让群组
    `abstract void` | `addGroupManagers(String groupId, List<String> userIds, IRongCoreCallback.OperationCallback callback)` | 添加群组管理员 注意：只有群主可以添加群管理员，一个群最多可以添加 10 个管理员；群主不可以被设置为管理员
    `abstract void` | `removeGroupManagers(String groupId, List<String> userIds, IRongCoreCallback.OperationCallback callback)` | 移除群组管理员
    `abstract void` | `getGroupMembersByRole(String groupId, GroupMemberRole role, PagingQueryOption option, IRongCoreCallback.PageResultCallback<GroupMemberInfo> callback)` | 分页获取指定群组的群成员列表 注意：优先返回群主、其次为群管理员、 最后为群成员。
    `abstract void` | `getGroupMembers(String groupId, List<String> userIds, IRongCoreCallback.ResultCallback<List<GroupMemberInfo>> callback)` | 获取指定群成员信息
    `abstract void` | `setGroupMemberInfo(String groupId, String userId, String nickname, String extra, IRongCoreCallback.OperationCallback callback)` | 设置群成员资料 群成员信息更新模式 memberInfoEditPermission ，决定是否可以修改群成员资料
    `abstract void` | `setGroupMemberInfo(String groupId, String userId, String nickname, String extra, IRongCoreCallback.ExamineOperationCallback callback)` | 设置群成员资料 群成员信息更新模式 memberInfoEditPermission ，决定是否可以修改群成员资料
    `abstract void` | `searchGroupMembers(String groupId, String name, PagingQueryOption option, IRongCoreCallback.PageResultCallback<GroupMemberInfo> callback)` | 根据群成员昵称查询群成员信息
    `abstract void` | `joinGroup(String groupId, IRongCoreCallback.ResultCallback<IRongCoreEnum.CoreErrorCode> callback)` | 加入群组 加入群组权限io.rong.imlib.model.
    `abstract void` | `inviteUsersToGroup(String groupId, List<String> userIds, IRongCoreCallback.ResultCallback<IRongCoreEnum.CoreErrorCode> callback)` | 邀请用户加入群组 谁可以邀请他人入群方式io.rong.imlib.model.
    `abstract void` | `acceptGroupInvite(String groupId, String inviterId, IRongCoreCallback.OperationCallback callback)` | 用户同意加入群组
    `abstract void` | `refuseGroupInvite(String groupId, String inviterId, String reason, IRongCoreCallback.OperationCallback callback)` | 用户拒绝加入群组
    `abstract void` | `acceptGroupApplication(String groupId, String inviterId, String applicantId, IRongCoreCallback.ResultCallback<IRongCoreEnum.CoreErrorCode> callback)` | 群主或管理员同意用户加入群组
    `abstract void` | `refuseGroupApplication(String groupId, String inviterId, String applicantId, String reason, IRongCoreCallback.OperationCallback callback)` | 群主或管理员拒绝用户加入群组
    `abstract void` | `getGroupApplications(PagingQueryOption option, Array<GroupApplicationDirection> directions, Array<GroupApplicationStatus> status, IRongCoreCallback.PageResultCallback<GroupApplicationInfo> callback)` | 分页获取群组请求列表
    `abstract void` | `getJoinedGroupsByRole(GroupMemberRole role, PagingQueryOption option, IRongCoreCallback.PageResultCallback<GroupInfo> callback)` | 分页查询用户所在群组列表
    `abstract void` | `searchJoinedGroups(String groupName, PagingQueryOption option, IRongCoreCallback.PageResultCallback<GroupInfo> callback)` | 按群名称搜索我加入的群组
    `abstract void` | `getJoinedGroups(List<String> groupIds, IRongCoreCallback.ResultCallback<List<GroupInfo>> callback)` | 批量获取我加入的群组
    `abstract void` | `setGroupRemark(String groupId, String remark, IRongCoreCallback.OperationCallback callback)` | 设置群组备注名
    `abstract void` | `addGroupFollows(String groupId, List<String> userIds, IRongCoreCallback.OperationCallback callback)` | 设置群组特别关注用户
    `abstract void` | `removeGroupFollows(String groupId, List<String> userIds, IRongCoreCallback.OperationCallback callback)` | 移除群组特别关注用户
    `abstract void` | `getGroupFollows(String groupId, IRongCoreCallback.ResultCallback<List<FollowInfo>> callback)` | 查询群组特别关注用户列表
    `abstract void` | `setGroupEventListener(GroupEventListener listener)` |
    `abstract void` | `addFriend(String userId, DirectionType directionType, String extra, IRongCoreCallback.ResultCallback<IRongCoreEnum.CoreErrorCode> callback)` | 添加好友
    `abstract void` | `deleteFriends(List<String> userIds, DirectionType directionType, IRongCoreCallback.OperationCallback callback)` | 解除好友 注意：双向好友删除：同时在两方的好友列表中删除好友
    `abstract void` | `acceptFriendApplication(String userId, IRongCoreCallback.OperationCallback callback)` | 同意加为好友
    `abstract void` | `refuseFriendApplication(String userId, IRongCoreCallback.OperationCallback callback)` | 拒绝加为好友
    `abstract void` | `setFriendInfo(String userId, String remark, Map<String, String> extProfile, IRongCoreCallback.OperationCallback callback)` | 设置好友信息
    `abstract void` | `setFriendInfo(String userId, String remark, Map<String, String> extProfile, IRongCoreCallback.ExamineOperationCallback callback)` | 设置好友信息
    `abstract void` | `checkFriends(List<String> userIds, DirectionType directionType, IRongCoreCallback.ResultCallback<List<FriendRelationInfo>> callback)` | 检查好友关系 好友关系类型说明，参照io.rong.imlib.model.
    `abstract void` | `getFriends(QueryFriendsDirectionType type, IRongCoreCallback.ResultCallback<List<FriendInfo>> callback)` | 获取全部好友列表
    `abstract void` | `getFriendApplications(PagingQueryOption option, Array<FriendApplicationType> types, Array<FriendApplicationStatus> status, IRongCoreCallback.PageResultCallback<FriendApplicationInfo> callback)` | 分页获取好友请求列表
    `abstract void` | `getFriendsInfo(List<String> userIds, IRongCoreCallback.ResultCallback<List<FriendInfo>> callback)` | 根据用户ID搜索好友信息
    `abstract void` | `searchFriendsInfo(String name, IRongCoreCallback.ResultCallback<List<FriendInfo>> callback)` | 根据好友昵称搜索好友信息
    `abstract void` | `setFriendAddPermission(FriendAddPermission permission, IRongCoreCallback.OperationCallback callback)` | 设置当前用户的加好友权限
    `abstract void` | `getFriendAddPermission(IRongCoreCallback.ResultCallback<FriendAddPermission> callback)` | 获取当前用户的加好友权限
    `abstract void` | `setFriendEventListener(FriendEventListener listener)` |
    `abstract IRongCoreEnum.CoreErrorCode` | `removeDatabase(String userId)` | * 删除指定用户的消息数据库
    `abstract void` | `requestStreamMessageContent(StreamMessageRequestParams params, IRongCoreCallback.OperationCallback callback)` | 请求流式消息。
    `abstract boolean` | `addStreamMessageRequestEventListener(IRongCoreListener.StreamMessageRequestEventListener listener)` | 添加流式消息请求事件监听。
    `abstract void` | `removeStreamMessageRequestEventListener(IRongCoreListener.StreamMessageRequestEventListener listener)` | 移除流式消息请求事件监听。
    `abstract void` | `sendReadReceiptResponseV5(ConversationIdentifier identifier, List<String> messageUIds, IRongCoreCallback.OperationCallback callback)` | 发送某个会话中的消息已读回执（V5）。 发送消时 setNeedReceipt 设置为 true ，接收方调用此接口发送已读。 发送方将通过 onMessageReceiptResponse 收到回执通知。 注意：仅支持单聊和群聊会话类型。
    `abstract void` | `getMessageReadReceiptInfoV5(ConversationIdentifier identifier, List<String> messageUIds, IRongCoreCallback.ResultCallback<List<ReadReceiptInfoV5>> callback)` | 批量获取消息已读信息（V5）。 注意：全量查询，不进行分页。
    `abstract void` | `getMessagesReadReceiptUsersByPageV5(ConversationIdentifier identifier, String messageUId, ReadReceiptUsersOption option, IRongCoreCallback.ResultCallback<ReadReceiptUsersResult> callback)` | 分页获取消息已读未读信息（V5）。 注意：仅支持单聊和群聊会话类型。
    `abstract void` | `getMessagesReadReceiptByUsersV5(ConversationIdentifier identifier, String messageUId, List<String> userIds, IRongCoreCallback.ResultCallback<ReadReceiptUsersResult> callback)` | 批量获取用户指定群组消息是否已读状态（V5）。 注意：仅支持单聊和群聊会话类型。
    `abstract boolean` | `addMessageReadReceiptV5Listener(IRongCoreListener.MessageReadReceiptV5Listener listener)` | 添加已读回执 v5 监听。
    `abstract void` | `removeMessageReadReceiptV5Listener(IRongCoreListener.MessageReadReceiptV5Listener listener)` | 移除已读回执 v5 监听。
    `abstract void` | `addUserSettingsListener(IRongCoreListener.UserSettingsListener listener)` | 添加用户配置事件监听。
    `abstract void` | `removeUserSettingsListener(IRongCoreListener.UserSettingsListener listener)` | 移除用户配置事件监听。

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RongCoreClient

          RongCoreClient()

  - ### Method Detail

    - #### getInstance

           static RongCoreClient getInstance()

      Since:

        5.0.0

    - #### init

           static void init(Context context)

      初始化 SDK，在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。

      Parameters:
        `context` - Application 类的 Context。
      Since:

        5.0.0

    - #### init

           static void init(Context context, String appKey)

      初始化 SDK，在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。

      Parameters:
        `context` - Application 类的 Context。
        `appKey` - 从融云开发者平台创建应用后获取到的 App Key。 此参数可选。如果不传值，SDK 会使用 AndroidManifest.
      Since:

        5.0.0

    - #### init

           static void init(Context context, String appKey, boolean enablePush)

      初始化 SDK，在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。

      Parameters:
        `context` - Application 类的 Context。
        `appKey` - 从融云开发者平台创建应用后获取到的 App Key。 此参数可选。如果不传值，SDK 会使用 AndroidManifest.
        `enablePush` - 是否使用推送功能。 `true` 启用推送； `false` 关闭推送。
      Since:

        5.0.0

    - #### init

           static void init(Context context, String appKey, boolean enablePush, Boolean isMainProcess)

      初始化 SDK，在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。

      Parameters:
        `context` - Application 类的 Context。
        `appKey` - 从融云开发者平台创建应用后获取到的 App Key。 此参数可选。如果不传值，SDK 会使用 AndroidManifest.
        `enablePush` - 是否使用推送功能。 `true` 启用推送； `false` 关闭推送。
      Since:

        5.1.3

    - #### init

           static void init(Context context, String appKey, InitOption option)

      初始化 SDK，在整个应用程序全局，只需要调用一次。

      Parameters:
        `context` - Application 类的 Context。
        `appKey` - 从融云开发者平台创建应用后获取到的 App Key。 * 此参数可选。如果不传值，SDK 会使用 AndroidManifest.
        `option` - 初始化所需要的配置信息，详情可参考 InitOption
      Since:

        5.3.4

    - #### connect

           static RongCoreClient connect(String token, IRongCoreCallback.ConnectCallback connectCallback)

      连接融云服务器，在整个应用程序全局，只需要调用一次，需在 init 之后调用。 如果您使用 IMKit，请使用 IMCenter 中的同名方法建立与融云服务器的连接，而不要使用此方法。

      调用该接口，SDK 会一直尝试重连，直到出现以下两种情况之一： 第一、连接成功，回调 onSuccess(userId)。 第二、出现 SDK 无法处理的错误，回调 onError(errorCode)（如 token 非法），并不再重连。 如果您不想一直进行重连，可以使用 connect(String,int,ConnectCallback) 接口并设置连接超时时间 timeLimit。 连接成功后，SDK 将接管所有的重连处理。当因为网络原因断线的情况下，SDK 会不停重连直到连接成功为止，不需要您做额外的连接操作。

      Parameters:
        `token` - 从服务端获取的用户身份令牌（Token）。
        `connectCallback` - 连接结果回调。
      Returns:

        RongCoreClient IM 客户端核心类的实例。

      Since:

        5.0.0

    - #### connect

           static RongCoreClient connect(String token, int timeLimit, IRongCoreCallback.ConnectCallback connectCallback)

      获取 IMLib 接口类实例，需在执行 init 方法初始化 SDK 后获取, 否则返回值为 null

      Returns:

        IMLib 接口类实例。

      Since:

        5.0.0

    - #### connect

           static RongCoreClient connect(String token, int timeLimit, String userId, IRongCoreCallback.ConnectCallback connectCallback)

      连接融云服务器，在连接前如果能拿到 userId，建议调用此接口进行连接。方便在连接出现问题时，通过 userId 排查原因。

      Parameters:
        `token` - 从服务端获取的用户身份令牌（Token）。
        `timeLimit` - 用户设置的连接超时时间，单位：秒。当 timeLimit <= 0，则 IM 将在连接失败后，周期性持续尝试重连，直至连接成功。
        `userId` - 在连接前，当业务上能拿到连接用户 ID 时，建议正确传入，否则可以传 null。此参数仅用于连接失败时的日志排查，请自行确保正确传入与 token 匹配的 userId，以便在连接出现问题时，通过 userId 排查原因。
        `connectCallback` - 连接结果回调。
      Returns:

        RongCoreClient IM 客户端核心类的实例。

    - #### getVersion

           static String getVersion()

      Since:

        5.2.1

    - #### getCommitId

           static String getCommitId()

      获取sdk 提交指针

      Since:

        5.4.0

    - #### addConnectionStatusListener

           static boolean addConnectionStatusListener(IRongCoreListener.ConnectionStatusListener listener)

      添加连接状态变化的监听器。

      当回调的状态为 TOKEN_INCORRECT, 需要获取正确的token, 并主动调用connect。 如果使用 IMKit，使用 RongIM 中同名方法 `setConnectionStatusListener` 。

      Parameters:
        `listener` - 连接状态变化的监听器。
      Since:

        5.1.6

    - #### setConnectionStatusListener

          @Deprecated() static void setConnectionStatusListener(IRongCoreListener.ConnectionStatusListener listener)

      设置连接状态变化的监听器。

      当回调的状态为 TOKEN_INCORRECT, 需要获取正确的token, 并主动调用connect。 如果使用 IMKit，使用 RongIM 中同名方法 `setConnectionStatusListener` 。

      Parameters:
        `listener` - 连接状态变化的监听器。
      Since:

        5.0.0

    - #### removeConnectionStatusListener

           static boolean removeConnectionStatusListener(IRongCoreListener.ConnectionStatusListener listener)

      移除连接状态变化的监听器。

      Parameters:
        `listener` - 连接状态变化的监听器。
      Since:

        5.1.6

    - #### addDatabaseStatusListener

           abstract void addDatabaseStatusListener(IRongCoreListener.DatabaseUpgradeStatusListener listener)

      设置数据库升级状态监听器

      Parameters:
        `listener` - 数据库升级状态监听器
      Since:

        5.10.2

    - #### removeDatabaseStatusListener

           abstract void removeDatabaseStatusListener(IRongCoreListener.DatabaseUpgradeStatusListener listener)

      移除数据库升级状态监听器

      Parameters:
        `listener` - 数据库升级状态监听器
      Since:

        5.10.2

    - #### addOnReceiveMessageListener

           static boolean addOnReceiveMessageListener(OnReceiveMessageWrapperListener listener)

      添加接收消息事件的监听器。 注意:建议设置应用生命周期的全局监听器。

      Parameters:
        `listener` - 接收消息的监听器。
      Returns:

        添加是否成功

      Since:

        5.1.5

    - #### setOnReceiveMessageListener

          @Deprecated() static void setOnReceiveMessageListener(IRongCoreListener.OnReceiveMessageListener listener)

      设置接收消息事件的监听器。 注意:建议设置应用生命周期的全局监听器。

      Parameters:
        `listener` - 接收消息的监听器。
      Since:

        5.0.0

    - #### removeOnReceiveMessageListener

           static boolean removeOnReceiveMessageListener(OnReceiveMessageWrapperListener listener)

      移除接收消息事件的监听器。

      Parameters:
        `listener` - 接收消息的监听器。
      Returns:

        移除是否成功

      Since:

        5.1.5

    - #### setServerInfo

           static void setServerInfo(String naviServer, String fileServer)

      设置私有部署的导航服务器和媒体服务器地址。

      可以支持设置 http://cn.xxx.com 或 https://cn.xxx.com 或 cn.xxx.com， 如果设置成 cn.xxx.com，SDK 会组装成 http:// 协议格式。 支持传入多个导航, 多个导航地址之间须以分号 ； 分隔。注意：此方法在 init 前使用！

      本接口和在 init: 中 InitOption 传入的 naviServer 和 fileServer 效果一致，任一种设置都生效

      Parameters:
        `naviServer` - 私有部署的导航服务器地址。
        `fileServer` - 私有部署的媒体服务器地址，即文件和图片的上传地址。使用私有云时必须填写。
      Since:

        5.0.0

    - #### setStatisticDomain

           static void setStatisticDomain(String domain)

      配置数据上传地址 （非必须）。

      配置此地址，SDK 会在初始化时把设备相关信息上传到私有云节点。影响到的功能是开发者后台的广播推送功能，如果私有云客户没有配置该地址，那从后台发推送时，客户端是收不到的。普通的 IM 推送不受影响。 设置数据上传服务器地址。 可以支持设置 http://cn.xxx.com 或者 https://cn.xxx.com 或者 cn.xxx.com。 如果设置成 cn.xxx.com，SDK 会组装成 http:// 协议格式。

      Parameters:
        `domain` - 域名
      Since:

        5.0.0

    - #### registerMessageType

          @Deprecated() static void registerMessageType(Class<out MessageContent> messageContentClass)

      注册自定义消息类型

      请在初始化之后，连接之前调用该方法注册自定义消息。

      Parameters:
        `messageContentClass` - 自定义消息的类，必须要继承自 io.rong.imlib.model.
      Since:

        5.0.0

    - #### registerMessageType

           static void registerMessageType(List<Class<out MessageContent>> messageContentClassList)

      批量注册自定义消息类型

      请在初始化之后，连接之前调用该方法注册自定义消息。

      Parameters:
        `messageContentClassList` - 自定义消息的类列表，列表中的每项必须要继承自 。
      Since:

        5.0.0

    - #### setOnRecallMessageListener

           static void setOnRecallMessageListener(IRongCoreListener.OnRecallMessageListener listener)

      设置撤回消息监听器

      Parameters:
        `listener` - 撤回消息监听器
      Since:

        5.0.0

    - #### setTypingStatusListener

           static void setTypingStatusListener(IRongCoreListener.TypingStatusListener listener)

      设置输入状态监听器。

      当输入状态发生变化时，回调 onTypingStatusChanged。 对于单聊而言，当对方正在输入时，监听会触发一次；当对方不处于输入状态时，该监听还会触发一次，但回调里输入用户列表为空。

      Parameters:
        `listener` - 输入状态监听器
      Since:

        5.0.0

    - #### setReadReceiptListener

           static void setReadReceiptListener(IRongCoreListener.ReadReceiptListener listener)

      设置消息回执监听器。

      当收到消息回执时回调 onReadReceiptReceived。

      Parameters:
        `listener` - 消息回执监听器
      Since:

        5.0.0

    - #### setRCLogInfoListener

           static void setRCLogInfoListener(IRongCoreListener.RCLogInfoListener listener)

      设置 Log 输出监听。

      注意：需要在 connect 之前调用！

      Parameters:
        `listener` - Log 输出监听器 @Deprecated
      Since:

        5.0.0

    - #### addConversationsToTag

           abstract void addConversationsToTag(String tagId, List<ConversationIdentifier> conversationIdentifierList, IRongCoreCallback.OperationCallback callback)

      添加会话到一个标签

      Parameters:
        `tagId` - 标签 id
        `conversationIdentifierList` - 会话列表
        `callback` - 添加会话到一个标签回调
      Since:

        5.1.1

    - #### addTag

           abstract void addTag(TagInfo tagInfo, IRongCoreCallback.OperationCallback callback)

      创建标签

      Parameters:
        `tagInfo` - TagInfo
        `callback` - 创建标签回调
      Since:

        5.1.1

    - #### appOnStart

           abstract void appOnStart()

      通知 SDK 应用回到前台。

      注意：该方法必须在 init 之后调用。 @Deprecated

      Since:

        5.0.0

    - #### batchInsertMessage

           abstract void batchInsertMessage(List<Message> messages, IRongCoreCallback.ResultCallback<Boolean> callback)

      批量插入接收的消息（该消息只插入本地数据库，实际不会发送给服务器和对方） Message 下列属性会被入库，其余属性会被抛弃 conversationType 会话类型 targetId 会话 ID messageDirection 消息方向 senderUserId 发送者 ID receivedStatus 接收状态；消息方向为接收方且未调用 message.getReceivedStatus().setRead()，该条消息未读； sentStatus 发送状态 content 消息的内容 sentTime 消息发送的 extra Message 的额外字段 Unix 时间戳，单位为毫秒，会影响消息排序

      此方法不支持聊天室的会话类型。每批最多处理 500 条消息xww，超过 500 条返回 RC_INVALID_PARAMETER_MESSAGE_LIST；消息的未读会累加到回话的未读数上。

      Parameters:
        `messages` - 批量处理的消息列表
        `callback` - 回调
      Since:

        5.1.1

    - #### batchInsertMessage

           abstract void batchInsertMessage(List<Message> messages, boolean enableCheck, IRongCoreCallback.ResultCallback<Boolean> callback)

      批量插入接收的消息（该消息只插入本地数据库，实际不会发送给服务器和对方） Message 下列属性会被入库，其余属性会被抛弃 conversationType 会话类型 targetId 会话 ID UId 消息唯一 ID messageDirection 消息方向 senderUserId 发送者 ID receivedStatus 接收状态；消息方向为接收方且未调用 message.getReceivedStatus().setRead()，该条消息未读； sentStatus 发送状态 content 消息的内容 sentTime 消息发送的 extra Message 的额外字段 Unix 时间戳，单位为毫秒，会影响消息排序

      此方法不支持聊天室的会话类型。每批最多处理 500 条消息，超过 500 条返回 RC_INVALID_PARAMETER_MESSAGE_LIST；消息的未读会累加到回话的未读数上。

      Parameters:
        `messages` - 批量处理的消息列表
        `enableCheck` - 是否需要消息排重
        `callback` - 回调
      Since:

        5.3.5

    - #### beginDestructMessage

           abstract void beginDestructMessage(Message message, IRongCoreListener.DestructCountDownTimerListener pListener)

      开始焚烧消息，仅支持单聊。

      Parameters:
        `message` - 焚烧的消息
        `pListener` - 倒计时回调接口
      Since:

        5.0.0

    - #### cancelDownloadMediaMessage

           abstract void cancelDownloadMediaMessage(Message message, IRongCoreCallback.OperationCallback callback)

      取消多媒体消息下载。

      Parameters:
        `message` - 多媒体文件消息。
        `callback` - 取消下载多媒体文件时的回调。
      Since:

        5.0.0

    - #### getPrivateDownloadToken

          @Deprecated() abstract void getPrivateDownloadToken(String fileName, IRongCoreCallback.ResultCallback<String> callback)

      此接口仅适用于私有云 SDK 调用，当前版本不再适用，私有云用户使用新接口 getMediaUploadAuthorInfo

      Parameters:
        `fileName` - 文件名称
        `callback` - 返回鉴权 token

    - #### getMediaUploadAuthorInfo

           abstract void getMediaUploadAuthorInfo(String fileName, String url, IRongCoreCallback.ResultCallback<MediaUploadAuthorInfo> callback)

      获取多媒体下载私有云Token。

      Parameters:
        `fileName` - 多媒体文件名。
        `callback` - 回调。
      Since:

        5.2.3

    - #### cancelSDKHeartBeat

           abstract void cancelSDKHeartBeat()

      取消 wakelock 心跳，在连接成功之后调用，整个应用程序全局只需要调用一次。

      Since:

        5.2.2

    - #### cancelSendMediaMessage

           abstract void cancelSendMediaMessage(Message message, IRongCoreCallback.OperationCallback callback)

      取消发送多媒体文件。

      Parameters:
        `message` - 多媒体文件消息。
        `callback` - 取消发送多媒体文件时的回调。
      Since:

        5.0.0

    - #### cleanHistoryMessages

           abstract void cleanHistoryMessages(ConversationType conversationType, String targetId, long recordTime, boolean cleanRemote, IRongCoreCallback.OperationCallback callback)

      删除指定时间戳之前的消息，可选择是否同时删除服务器端消息

      此方法可从服务器端清除历史消息，但是必须先开通历史消息云存储功能。 根据会话类型和会话 id 清除某一会话指定时间戳之前的本地数据库消息（服务端历史消息）， 清除成功后只能从本地数据库（服务端）获取到该时间戳之后的历史消息。

      Parameters:
        `conversationType` - 会话类型。
        `targetId` - 会话 id。
        `recordTime` - 清除消息截止时间戳， `0 <= recordTime <= 当前会话最后一条消息的 sentTime,0 清除所有消息，其他值清除小于等于 recordTime 的消息`。
        `cleanRemote` - 是否删除服务器端消息
        `callback` - 清除消息的回调。
      Since:

        5.0.0

    - #### cleanRemoteHistoryMessages

           abstract void cleanRemoteHistoryMessages(ConversationType conversationType, String targetId, long recordTime, IRongCoreCallback.OperationCallback callback)

      清除服务器上存储的历史消息。

      根据会话类型和目标会话 id 清除某一会话指定时间戳之前的服务端历史消息, 清除成功后只能从服务端获取到该时间戳之后的历史消息。注意：必须先开通历史消息云存储功能！

      Parameters:
        `conversationType` - 会话类型。
        `targetId` - 会话 id。
        `recordTime` - 清除消息截止时间戳，`0 <= recordTime <= 当前会话最后一条消息的 sentTime，0 清除所有消息，其他值清除小于等于 recordTime 的消息`。
        `callback` - 清除消息的回调。
      Since:

        5.0.0

    - #### clearConversations

           abstract void clearConversations(IRongCoreCallback.ResultCallback<Boolean> callback, Array<ConversationType> conversationTypes)

      清空指定会话类型列表中的所有会话及会话消息。

      Parameters:
        `callback` - 是否清空成功的回调。
        `conversationTypes` - 需要清空的会话类型列表。
      Since:

        5.0.0

    - #### clearConversationsByTag

           abstract void clearConversationsByTag(String tagId, boolean deleteMessage, IRongCoreCallback.ResultCallback<Boolean> callback)

      删除指定标签下全部会话 注意:此操作会解绑会话与标签的关系，再次调用需要重新绑定关系

      Parameters:
        `tagId` - 标签 ID
        `deleteMessage` - 是否删除消息
        `callback` - 删除标签的回调
      Since:

        5.1.5

    - #### clearMessages

           abstract void clearMessages(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)

      删除某个会话中的所有消息。

      注意：不支持聊天室！

      Parameters:
        `conversationType` - 会话类型，不支持聊天室。参考 Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `callback` - 清空是否成功的回调。
      Since:

        5.0.0

    - #### clearMessagesUnreadStatus

           abstract void clearMessagesUnreadStatus(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)

      清除某个会话中的未读消息数。

      注意：不支持聊天室，不支持超级群

      Parameters:
        `conversationType` - 会话类型，不支持聊天室。参考 Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `callback` - 清除是否成功的回调。
      Since:

        5.0.0

    - #### clearMessagesUnreadStatus

           abstract void clearMessagesUnreadStatus(ConversationType conversationType, String targetId, long timestamp, IRongCoreCallback.OperationCallback callback)

      清除某个会话中的未读消息数。

      注意：不支持聊天室，不支持超级群

      Parameters:
        `conversationType` - 会话类型，不支持聊天室。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `timestamp` - 该会话已阅读的最后一条消息的发送时间戳。参考 getSentTime。
        `callback` - 清除是否成功的回调。
      Since:

        5.0.0

    - #### clearMessagesUnreadStatusByTag

           abstract void clearMessagesUnreadStatusByTag(String tagId, IRongCoreCallback.ResultCallback<Boolean> callback)

      清除指定标签下全部会话的未读消息数

      Parameters:
        `tagId` - 标签 ID
        `callback` - 清除会话的回调
      Since:

        5.1.5

    - #### clearTextMessageDraft

           abstract void clearTextMessageDraft(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)

      删除指定会话中的草稿信息。

      Parameters:
        `conversationType` - 会话类型。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `callback` - 是否清除成功的回调。
      Since:

        5.0.0

    - #### deleteMessages

           abstract void deleteMessages(Array<int> messageIds, IRongCoreCallback.ResultCallback<Boolean> callback)

      删除消息。

      Parameters:
        `messageIds` - 要删除的消息 id 数组。
        `callback` - 删除是否成功的回调。
      Since:

        5.0.0

    - #### deleteMessages

           abstract void deleteMessages(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)

      删除某个会话中的所有消息。

      此接口删除指定会话中数据库的所有消息，同时会清理数据库空间，减少占用空间。

      Parameters:
        `conversationType` - 会话类型，不支持聊天室。参考 Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是 userId, groupId, discussionId。
        `callback` - 删除是否成功的回调。
      Since:

        5.0.0

    - #### deleteRemoteMessages

           abstract void deleteRemoteMessages(ConversationType conversationType, String targetId, Array<Message> messages, IRongCoreCallback.OperationCallback callback)

      批量删除某个会话中的指定远端消息（同时删除对应的本地消息）。

      一次批量操作仅支持删除属于同一个会话的消息，请确保消息列表中的所有消息来自同一会话，一次最多删除 100 条消息。注意：不支持聊天室！

      5.6.9版本以下不支持超级群会话类型，从 5.6.9 版本开始支持超级群会话类型

      Parameters:
        `conversationType` - 会话类型， 不支持聊天室。参考 Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、客服 id。
        `messages` - 要删除的消息数组， 数组大小不能超过 100 条。
        `callback` - 删除是否成功的回调。
      Since:

        5.0.0

    - #### disconnect

           abstract void disconnect()

      断开与融云服务器的连接，但仍然接收远程推送。

      若想断开连接后不接受远程推送消息，可以调用logout。注意：因为 SDK 在前后台切换或者网络出现异常都会自动重连，保证连接可靠性。 所以除非您的 App 逻辑需要登出，否则一般不需要调用此方法进行手动断开。

      Since:

        5.0.0

    - #### disconnect

           abstract void disconnect(boolean isReceivePush)

      断开与融云服务器的连接，根据参数选择是否继续接收远程推送。

      Parameters:
        `isReceivePush` - `true` 断开后接收远程推送；`false` 断开后不再接收远程推送。
      Since:

        5.0.0

    - #### logout

           abstract void logout()

      断开与融云服务器的连接，并且不再接收远程推送消息。

      若想断开连接后仍然接受远程推送消息，可以调用 disconnect

      Since:

        5.0.0

    - #### downloadMedia

           abstract void downloadMedia(ConversationType conversationType, String targetId, IRongCoreEnum.MediaType mediaType, String imageUrl, IRongCoreCallback.DownloadMediaCallback callback)

      下载多媒体文件。

      如果本地缓存中包含此文件，则从本地缓存中直接获取，否则将从服务器端下载。

      Parameters:
        `conversationType` - 会话类型。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `mediaType` - 文件类型。
        `imageUrl` - 文件的 URL 地址。
        `callback` - 下载文件的回调。
      Since:

        5.0.0

    - #### downloadMediaMessage

           abstract void downloadMediaMessage(Message message, IRongCoreCallback.IDownloadMediaMessageCallback callback)

      下载多媒体文件。

      Parameters:
        `message` - 媒体消息（FileMessage，SightMessage，GIFMessage, HQVoiceMessage等）。
        `callback` - 下载文件的回调。参考 IRongCoreCallback.IDownloadMediaMessageCallback。
      Since:

        5.0.0

    - #### downloadMediaFile

           abstract void downloadMediaFile(String fileUniqueId, String fileUrl, String fileName, String path, IRongCoreCallback.IDownloadMediaFileCallback callback)

      下载文件。

      支持断点续传，对应的暂停下载须调用 pauseDownloadMediaFile。

      Parameters:
        `fileUniqueId` - 文件唯一标识, 与 pauseDownloadMediaFile 第一个参数对应
        `fileUrl` - 文件下载地址
        `fileName` - 文件名
        `path` - 文件下载保存目录，如果是 targetVersion 29 为目标，由于访问权限原因，建议使用 context.
        `callback` - 下载文件的回调
      Since:

        5.0.0

    - #### getBlacklist

           abstract void getBlacklist(IRongCoreCallback.GetBlacklistCallback callback)

      获取当前用户设置的黑名单列表。

      Parameters:
        `callback` - 获取黑名单回调。参考 IRongCoreCallback.GetBlacklistCallback 。
      Since:

        5.0.0

    - #### getBlacklistStatus

           abstract void getBlacklistStatus(String userId, IRongCoreCallback.ResultCallback<IRongCoreEnum.BlacklistStatus> callback)

      获取某用户是否在黑名单中。

      Parameters:
        `userId` - 用户 id。
        `callback` - 获取用户是否在黑名单回调。
      Since:

        5.0.0

    - #### getBlockedConversationList

           abstract void getBlockedConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback, Array<ConversationType> conversationTypes)

      获取免打扰的会话列表。

      Parameters:
        `callback` - 获取免打扰会话的回调。
        `conversationTypes` - 会话类型，io.rong.imlib.model.Conversation.
      Since:

        5.0.0

    - #### getConversation

           abstract void getConversation(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Conversation> callback)

      获取单个会话信息。

      Parameters:
        `conversationType` - 会话类型。参考 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `callback` - 获取会话信息的回调。
      Since:

        5.0.0

    - #### getConversations

           abstract void getConversations(List<ConversationIdentifier> conversationIdentifiers, IRongCoreCallback.ResultCallback<List<Conversation>> callback)

      获取会话列表的方法。 <p><strong>功能说明：</strong>根据提供的会话标识符列表获取对应的会话对象列表。 <p>可以通过实现此方法来处理会话的获取，例如从数据库中加载会话数据或从网络请求会话数据。

      Parameters:
        `conversationIdentifiers` - 会话标识符的列表，用于指定要获取的会话。 参考 。
        `callback` - 获取会话结果的回调，包含会话对象列表或错误信息。参考 。
      Since:

        5.8.2

    - #### getConversationList

           abstract void getConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback)

      获取当前用户本地会话列表，该方法返回的是以下类型的会话列表：私聊，群组，讨论组，系统会话。

      此方法会从本地数据库中，读取会话列表。返回的会话列表排序规则为:按照时间从前往后排列，如果有置顶的会话，则置顶的会话会排列在前面。 如果您需要获取其它类型的会话列表,可以使用getConversationList 。 需要在连接数据库打开回调 `OnDatabaseOpened` 后调用，IRongCoreCallback.ConnectCallback 。

      Parameters:
        `callback` - 获取会话列表的回调。
      Since:

        5.0.0

    - #### getConversationList

           abstract void getConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback, Array<ConversationType> conversationTypes)

      根据会话类型，获取当前用户的本地会话列表。

      Parameters:
        `callback` - 获取会话列表的回调。
        `conversationTypes` - 要获取的会话类型。
      Since:

        5.0.0

    - #### getTopConversationList

           abstract void getTopConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback, Array<ConversationType> conversationTypes)

      根据会话类型,获取置顶会话列表

      Parameters:
        `callback` - 获取的置顶会话列表的回调。
        `conversationTypes` - 要获取的置顶会话类型。
      Since:

        5.0.0

    - #### getUnreadConversationList

           abstract void getUnreadConversationList(IRongCoreCallback.ResultCallback<List<Conversation>> callback, Array<ConversationType> conversationTypes)

      根据会话类型，获取当前用户未读的本地会话列表。

      Parameters:
        `callback` - 获取会话列表的回调。
        `conversationTypes` - 要获取的会话类型。该接口仅支持 单聊、群聊、系统三种会话类型，不支持聊天室、超级群。
      Since:

        5.3.2

    - #### getConversationListByPage

           abstract void getConversationListByPage(IRongCoreCallback.ResultCallback<List<Conversation>> callback, long timeStamp, int count, Array<ConversationType> conversationTypes)

      分页获取会话列表。

      Parameters:
        `callback` - 获取会话列表的回调。
        `timeStamp` - 时间戳（毫秒），通过获取从此时间戳往前的会话，传入 0 表示从最新会话开始获取。参考 getSentTime 。
        `count` - 取回的会话数量。当实际取回的会话数量小于 count 值时，表明已取完数据。 建议此数值不要超过 10 个，当一次性获取的会话数过大时， 会导致跨进程通信崩溃，引发获取会话列表失败及通信连接被中断。
        `conversationTypes` - 要获取的会话类型。
      Since:

        5.0.0

    - #### getConversationListByPage

           abstract void getConversationListByPage(IRongCoreCallback.ResultCallback<List<Conversation>> callback, long timeStamp, int count, boolean topPriority, Array<ConversationType> conversationTypes)

      分页获取会话列表。

      Parameters:
        `callback` - 获取会话列表的回调。
        `timeStamp` - 时间戳（毫秒），通过获取从此时间戳往前的会话，传入 0 表示从最新会话开始获取。参考 getSentTime 。
        `count` - 取回的会话数量。当实际取回的会话数量小于 count 值时，表明已取完数据。 建议此数值不要超过 10 个，当一次性获取的会话数过大时， 会导致跨进程通信崩溃，引发获取会话列表失败及通信连接被中断。
        `topPriority` - 是否优先显示置顶消息（查询结果的排序方式，是否置顶优先，传 true 表示置顶会话优先返回，传 false 结果只以会话时间排序）
        `conversationTypes` - 要获取的会话类型。
      Since:

        5.6.9

    - #### getRemoteConversations

           abstract void getRemoteConversations(IRongCoreCallback.OperationCallback callback)

      获取远端会话。

      Parameters:
        `callback` - 回调，返回 成功或者失败。
      Since:

        5.20.0

    - #### setConversationListener

           abstract void setConversationListener(IRongCoreListener.ConversationListener listener)

      设置会话列表监听器。

      Parameters:
        `listener` - 会话监听器。
      Since:

        5.20.0

    - #### getConversationNotificationStatus

           abstract void getConversationNotificationStatus(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<ConversationNotificationStatus> callback)

      获取会话消息提醒状态。

      注意：不支持聊天室！

      Parameters:
        `conversationType` - 会话类型，不支持聊天室（聊天室默认是不接受会话消息提醒的）。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `callback` - 获取消息提醒状态的回调。
      Since:

        5.0.0

    - #### setConversationNotificationStatus

           abstract void setConversationNotificationStatus(ConversationType conversationType, String targetId, ConversationNotificationStatus notificationStatus, IRongCoreCallback.ResultCallback<ConversationNotificationStatus> callback)

      设置会话消息提醒状态。

      注意：不支持聊天室！

      Parameters:
        `conversationType` - 会话类型。不支持聊天室类型，因为聊天室默认就是不接受消息提醒的。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `notificationStatus` - 会话设置的消息提醒状态 。
        `callback` - 设置状态的回调。
      Since:

        5.0.0

    - #### getConversationsFromTagByPage

           abstract void getConversationsFromTagByPage(String tagId, long ts, int count, IRongCoreCallback.ResultCallback<List<Conversation>> callback)

      分页获取本地指定标签下会话列表功能

      Parameters:
        `tagId` - tag id
        `ts` - 会话中最后一条消息时间戳
        `count` - 获取数量 `20<= count <=100`
        `callback` - 分页获取本地指定标签下会话列表功能回调
      Since:

        5.1.1

    - #### getUntaggedConversationListByPage

           abstract void getUntaggedConversationListByPage(long timestamp, int count, boolean topPriority, IRongCoreCallback.ResultCallback<List<Conversation>> callback)

      分页获取未打过标签的会话列表

      Parameters:
        `timestamp` - 会话的时间戳（获取这个时间戳之前的会话列表，0表示从最新开始获取，单位：毫秒）。
        `count` - 获取的数量，有效值 [1, 100]。（当实际取回的会话数量小于 count 值时，表明已取完数据）。当 count 小于 1 时，取 20，大于 100 时，取 100。
        `topPriority` - 查询结果的排序方式，是否置顶优先，传 true 表示置顶会话优先返回，否则结果只以会话时间排序。
        `callback` - 结果回调。
      Since:

        5.7.8

    - #### setConversationsToTop

           abstract void setConversationsToTop(List<ConversationIdentifier> conversationIdentifiers, boolean isTop, ConversationTopOption option, IRongCoreCallback.ResultCallback<Boolean> callback)

      更新会话的置顶状态。

      Parameters:
        `conversationIdentifiers` - 需要更新的会话
        `isTop` - 是否置顶
        `option` - 置顶状态信息，如果为空，则默认都传 false
        `callback` - 结果回调
      Since:

        5.18.0

    - #### getConversationTopStatus

           abstract void getConversationTopStatus(String targetId, ConversationType conversationType, IRongCoreCallback.ResultCallback<Boolean> callback)

      获取会话的置顶状态 同时设置 setConversationStatusListener 监听器，在onConversationTagChanged回调中更新会话置顶状态，保证会话置顶的准确性

      Parameters:
        `targetId` - 会话 ID
        `conversationType` - 会话类型
        `callback` - 会话置顶结果的回调
      Since:

        5.1.5

    - #### getUnreadCount

           abstract void getUnreadCount(String targetId, ConversationType conversationType, Array<String> objectNames, IRongCoreCallback.ResultCallback<Integer> callback)

      获取指定会话内指定消息类型的未读消息数（聊天室会话除外）

      Parameters:
        `targetId` - 会话目标 ID
        `conversationType` - 会话类型
        `objectNames` - 消息类型数组
        `callback` - 未读数结果的回调
      Since:

        5.1.5

    - #### getConversationTopStatusInTag

           abstract void getConversationTopStatusInTag(ConversationIdentifier conversationIdentifier, String tagId, IRongCoreCallback.ResultCallback<Boolean> callback)

      获取指定会话下的标签置顶状态（不支持超级群）

      Parameters:
        `conversationIdentifier` - ConversationIdentifier
        `tagId` - tag id
        `callback` - 获取指定会话下的所有标签回调
      Since:

        5.1.1

    - #### getCurrentConnectionStatus

           abstract IRongCoreListener.ConnectionStatusListener.ConnectionStatus getCurrentConnectionStatus()

      获取当前 IM 服务连接状态。

      Returns:

        当前连接状态 IRongCoreListener.ConnectionStatusListener.ConnectionStatus。

      Since:

        5.0.0

    - #### getCurrentUserId

           abstract String getCurrentUserId()

      获取当前连接用户的信息。

      Returns:

        当前连接用户的信息。

      Since:

        5.1.4

    - #### getDeltaTime

           abstract long getDeltaTime()

      获取本地时间与服务器时间的时间差。

      消息发送成功后，SDK 与服务器同步时间，消息所在数据库中存储的时间就是服务器时间。 System.currentTimeMillis() - getDeltaTime() 可以获取服务器当前时间。

      Returns:

        本地时间与服务器时间的差值。

      Since:

        5.0.0

    - #### getDownloadInfo

           abstract void getDownloadInfo(String tag, IRongCoreCallback.ResultCallback<DownloadInfo> callback)

      获取媒体文件下载信息。

      注意：此方法只适用断点续传下载。

      Parameters:
        `tag` - 文件唯一识别标志， 调用 downloadMediaMessage 则是 messageId 字符串 调用downloadMediaFile,则是 fileUniqueId 第一个参数
        `callback` - 回调
      Since:

        5.1.2

    - #### getGIFLimitSize

           abstract int getGIFLimitSize()

      获取允许发送 GIF 图片大小最大值。

      Returns:

        返回允许发送 GIF 图片大小最大值，单位为 KB，获取失败返回 -1。

      Since:

        5.0.0

    - #### getHistoryMessages

           abstract void getHistoryMessages(ConversationType conversationType, String targetId, int oldestMessageId, int count, IRongCoreCallback.ResultCallback<List<Message>> callback)

      获取会话中，从指定消息之前、指定数量的、指定消息类型的最新消息实体。

      Parameters:
        `conversationType` - 会话类型。参考 Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `oldestMessageId` - 最后一条消息的 id。获取此消息之前的 count 条消息，没有消息第一次调用应设置为 -1。
        `count` - 要获取的消息数量。
        `callback` - 获取历史消息的回调，按照时间顺序从新到旧排列。
      Since:

        5.0.0

    - #### getHistoryMessages

           abstract void getHistoryMessages(ConversationType conversationType, String targetId, List<String> objectNames, long timestamp, int count, RongCommonDefine.GetMessageDirection direction, IRongCoreCallback.ResultCallback<List<Message>> callback)

      获取会话中符合条件的消息列表。

      如： 要获取 messageId 为 22 的之前的 10 条图片消息，和文字消息 objectNames 为字符串 List

          objectNames.add("RC:ImgMsg");
          objectNames.add("RC:TxtMsg");

      则相应参数为 getHistoryMessages(conversationType, targetId, objectNames, 22, 10, true, resultCallback)。

      Parameters:
        `conversationType` - 会话类型。参考 Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `objectNames` - 消息类型标识 List。如 RC:TxtMsg，RC:ImgMsg，RC:VcMsg 等构成的 List。
        `timestamp` - 当前消息时间戳。
        `count` - 需要获取的消息数量。
        `direction` - 要获取的消息相对于当前消息的方向 io.rong.imlib.RongCommonDefine.
        `callback` - 获取历史消息的回调，按照时间顺序从新到旧排列。
      Since:

        5.0.0

    - #### getHistoryMessages

           abstract void getHistoryMessages(ConversationType conversationType, String targetId, String objectName, int baseMessageId, int count, RongCommonDefine.GetMessageDirection direction, IRongCoreCallback.ResultCallback<List<Message>> callback)

      获取会话中符合条件的消息列表。

      如：获取 messageId 为 22 的之前的 10条 图片消息，则相应参数为 getHistoryMessages(conversationType, targetId, "RC:ImgMsg", 22, 10, true, resultCallback)。注意：SDK 退出聊天室时会清除本聊天室历史消息，所以退出后再获取聊天室历史消息时，返回为空

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `objectName` - 消息类型标识。如 RC:TxtMsg，RC:ImgMsg，RC:VcMsg 等 value 。
        `baseMessageId` - 起始消息 id。
        `count` - 需要获取的消息数量。
        `direction` - 要获取的消息相对于 baseMessageId 的方向 以指定的 baseMessageId 作为获取的起始点，时间早于 baseMessageId 则为 FRONT，晚于则为 BEHIND。
        `callback` - 获取历史消息的回调，按照时间顺序从新到旧排列。
      Since:

        5.0.0

    - #### getHistoryMessages

           abstract void getHistoryMessages(ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count, IRongCoreCallback.ResultCallback<List<Message>> callback)

      获取会话中符合条件的消息列表。

      返回的消息中不包含 oldestMessageId 对应那条消息，如果会话中的消息数量小于参数 count 的值，会将该会话中的所有消息返回。 如：oldestMessageId 为 10，count 为 2，会返回 messageId 为 9 和 8 的 Message 对象列表。注意：SDK 退出聊天室时会清除本聊天室历史消息，所以退出后再获取聊天室历史消息时，返回为空

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 。
        `objectName` - 消息类型标识。
        `oldestMessageId` - 最后一条消息的 Id，获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。
        `count` - 要获取的消息数量
        `callback` - 获取历史消息的回调，按照时间顺序从新到旧排列。
      Since:

        5.0.0

    - #### getHistoryMessages

           abstract void getHistoryMessages(ConversationType conversationType, String targetId, long sentTime, int before, int after, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)

      在会话中搜索指定消息的前 `before` 数量和 `after` 数量的消息。

      返回的消息列表中会包含指定的消息。消息列表时间顺序从新到旧。

      Parameters:
        `conversationType` - 指定的会话类型。
        `targetId` - 指定的会话 id。
        `sentTime` - 指定消息的发送时间，不能为 0。
        `before` - 指定消息的前部分消息数量。
        `after` - 指定消息的后部分消息数量。
        `resultCallback` - 搜索结果回调。 上拉加载时，返回数据中包含当前消息；例：当前消息 id 为 500， before = 0 after = 10，返回 510 - 500 ，按消息 id 倒序。
      Since:

        5.0.0

    - #### getHistoryMessages

          @Deprecated() abstract List<Message> getHistoryMessages(ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count)

      获取会话中符合条件的消息列表。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `objectName` - 消息类型标识。
        `oldestMessageId` - 最后一条消息的 id，获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。
        `count` - 要获取的消息数量。
      Returns:

        历史消息，按照时间顺序从新到旧排列。

      Since:

        5.0.0

    - #### getHistoryMessages

          @Deprecated() abstract List<Message> getHistoryMessages(ConversationType conversationType, String targetId, int oldestMessageId, int count)

      获取会话中符合条件的消息列表。

      如： 要获取 messageId 为 22 的之前的 10 条图片消息，和文字消息 objectNames 为字符串 List

          objectNames.add("RC:ImgMsg");
          objectNames.add("RC:TxtMsg");

      则相应参数为 getHistoryMessages(conversationType, targetId, objectNames, 22, 10, true, resultCallback)。

      Parameters:
        `conversationType` - 会话类型。参考 Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `oldestMessageId` - 最后一条消息的 id，获取此消息之前的 count 条消息，没有消息第一次调用应设置为:-1。
        `count` - 要获取的消息数量。
      Returns:

        历史消息，按照时间顺序从新到旧排列。

      Since:

        5.0.0

    - #### getLatestMessages

           abstract void getLatestMessages(ConversationType conversationType, String targetId, int count, IRongCoreCallback.ResultCallback<List<Message>> callback)

      获取指定会话的最新消息。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `count` - 需要获取的消息数量。
        `callback` - 获取最新消息的回调，按照时间顺序从新到旧排列，如果会话中的消息数量小于参数 count 的值，会将该会话中的所有消息返回。
      Since:

        5.0.0

    - #### getMessage

           abstract void getMessage(int messageId, IRongCoreCallback.ResultCallback<Message> callback)

      根据消息 id 获取消息体（数据库索引唯一值）。

      Parameters:
        `messageId` - 消息 id。
        `callback` - 回调。
      Since:

        5.0.0

    - #### getMessageByUid

           abstract void getMessageByUid(String uid, IRongCoreCallback.ResultCallback<Message> callback)

      通过全局唯一 id 获取消息实体。

      Parameters:
        `uid` - 全局唯一 id（服务器消息唯一 id）。
        `callback` - 获取消息的回调。
      Since:

        5.0.0

    - #### getMessageCount

           abstract void getMessageCount(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Integer> callback)

      获取指定会话的消息总数。

      Parameters:
        `conversationType` - 会话类型。
        `targetId` - 会话 id。
        `callback` - 消息总数的回调。
      Since:

        5.0.0

    - #### getMessages

           abstract void getMessages(ConversationType conversationType, String targetId, HistoryMessageOption historyMsgOption, IRongCoreCallback.IGetMessageCallback callback)

      获取指定会话历史消息。

      此方法先从本地获取历史消息，本地有缺失的情况下会从服务端同步缺失的部分；从服务端同步失败的时候会返回非 0 的 errorCode，同时把本地能取到的消息回调上去。 必须开通历史消息云存储功能。

      以下为单群聊场景下的详细说明：

      产生消息断档的典型情况有： 1. 超过消息离线存储最长时间未登录。例如默认离线消息的最长存储时间是 7 天，若用户连续 10 天未登录，当再次登录时， 服务器只会推送最近 7 天的离线消息，那么更早的 3 天内的消息本地就没有，这段期间称为断档。 2. 客户启用了群组离线消息存储条数配置。例如配置群组离线消息存储条数为 100 条，若用户离线期间， 该群离线消息超过 100 条，当再次登录时，服务器只会推送最后的 100 条消息，那么更早的消息本地也没有，这段期间称为断档。

      本地存储消息是否断档的判断逻辑： 当连接成功后，服务器主动下发消息分为两种情况，一种是单条直发，一种是通知拉取（一般是会话消息量较大的情况）。还有一种 是客户端主动拉取消息。对于通知拉取和主动拉取，服务端返回结果中都带有连续置信区间的起始和终止时间戳，客户端会将这段时 间记录在本地数据库中，视为该会话的连续置信区间。如果用户一直在线情况下，收到单条直发消息，也会将当前消息的时间戳与本 地存储的该会话置信区间做拼接，视为连续置信区间。当用户调用此接口时，会根据用户传入的获取消息条数 count 来从本地数据库 中获取，如果获取的所有消息时间戳都在连续置信区间内，就视为无断档，可直接返回给用户。否则会以断档处时间戳为起点，向服 务端拉取历史消息，拉回来消息的同时，会更新该会话的连续置信区间，并将入库类型消息与本地数据库的消息合并，再返回给用户。

      结果回调中，messages 为本次拉取到的消息列表，timestamp 为下次拉取的起始时间戳，isRemaining 为服务器是否还有未拉取的消息。 分为以下几种情况： 1. messages 数量等于 count。代表本次的调用已拉取到 count 条消息，且消息是连续的。用户可根据 isRemaining 结果决定是否要继续拉取。 2. messages 数量小于 count（包括 0 的情况），且 isRemaining 为 false。 代表本次调用已拉取到所有连续消息，且服务端也无更多消息可供拉取。 3. messages 数量小于 count（包括 0 的情况），且 isRemaining 为 true。 代表本次调用只拉取到这么多连续消息，虽然尝试从服务端拉取断档处消息，但拉回来的都是不存储类型的消息。 同时服务端还有更多消息可供拉取，需要用户使用返回的 timestamp 继续拉取。

      以下情况需要注意： 1. 调用此接口返回的消息，会在本地标记为连续消息。如果后面调用了删除消息相关接口从本地数据库删除了已连续的消息， 会认为此处仍然连续无断档。下次再调用此接口时，不会从服务端拉取此处已删除的消息。 2. 当用户一直在线时，如果服务端通过 ServerAPI 将当前用户踢出某群，过一段时间再加回来。 如果服务端执行以上操作的同时什么都不做，客户端是无感知的。用户在被踢出群的这段时间内，此群消息接收不到， 等加回来后又可以收之后的消息，但 SDK 会认为此间消息一直连续无断档，下次调用此接口时，不会从服务端拉取退群期间的消息。 如果想补偿这段时间消息，需要调用拉取该时段的远端消息接口。为避免执行上述操作时，客户端无感知， 建议在服务端执行踢人操作前，同时发送一条小灰条消息通知被踢人，避免用户误解。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。
        `historyMsgOption` - HistoryMessageOption
        `callback` - 清除消息的回调。
      Since:

        5.1.2

    - #### getNotificationQuietHours

           abstract void getNotificationQuietHours(IRongCoreCallback.GetNotificationQuietHoursCallback callback)

      获取消息通知免打扰时间。

      Parameters:
        `callback` - 消息通知免打扰时间回调。参考 IRongCoreCallback.GetNotificationQuietHoursCallback 。。
      Since:

        5.0.0

    - #### getOfflineMessageDuration

           abstract void getOfflineMessageDuration(IRongCoreCallback.ResultCallback<String> callback)

      获取离线消息时间（以天为单位）。

      Parameters:
        `callback` - 获取离线消息存储时间回调
      Since:

        5.0.0

    - #### getPushContentShowStatus

           abstract void getPushContentShowStatus(IRongCoreCallback.ResultCallback<Boolean> callback)

      获取是否显示远程推送内容详情设置。

      Parameters:
        `callback` - 获取是否显示远程推送内容详情回调，`true` 显示远程推送内容详情， `false` 不显示远程推送内容详情。
      Since:

        5.0.0

    - #### getPushLanguage

           abstract void getPushLanguage(IRongCoreCallback.ResultCallback<IRongCoreEnum.PushLanguage> callback)

      获取远程推送语言设置。

      Parameters:
        `callback` - 获取远程推送语言设置回调， IRongCoreEnum.PushLanguage。
      Since:

        5.0.0

    - #### getPushReceiveStatus

           abstract void getPushReceiveStatus(IRongCoreCallback.ResultCallback<Boolean> callback)

      获取是否接收远程推送的设置。

      前提: 移动端不在线，Web 、MAC/PC 终端在线，移动端是否接收远程推送。

      Parameters:
        `callback` - 获取是否接收远程推送的设置回调，`true` 接收远程推送 ， `false` 不接收远程推送。
      Since:

        5.0.0

    - #### getRemoteHistoryMessages

           abstract void getRemoteHistoryMessages(ConversationType conversationType, String targetId, long dateTime, int count, IRongCoreCallback.ResultCallback<List<Message>> callback)

      从服务器端获取指定时间之前的历史消息。

      区别于 getHistoryMessages，该接口是从融云服务器中拉取。从服务端拉取消息后，客户端会做排重，返回排重后的数据。通常用于更换新设备后，拉取历史消息。 使用的时候，建议优先通过 getHistoryMessages 从本地数据库拉取历史消息， 当本地数据库没有历史消息后，再通过此接口获取服务器历史消息，时间戳传入本地数据库里最早的消息时间戳。注意： 1. 此功能需要在融云开发者后台开启历史消息云存储功能。 2. 当本地数据库中已存在将要获取的消息时，此接口不会再返回数据。

      Parameters:
        `conversationType` - 会话类型。
        `targetId` - 目标会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `dateTime` - 从该时间点开始获取消息。即：消息中的 sentTime getSentTime；如果本地库中没有消息，第一次可传 0，否则传入最早消息的sentTime，获取最新 count 条。
        `count` - 需要获取的消息数量， `0 < count <= 20`。
        `callback` - 获取历史消息的回调，按照时间顺序从新到旧排列。
      Since:

        5.0.0

    - #### getRemoteHistoryMessages

           abstract void getRemoteHistoryMessages(ConversationType conversationType, String targetId, RemoteHistoryMsgOption remoteHistoryMsgOption, IRongCoreCallback.ResultCallback<List<Message>> callback)

      获取指定会话远端历史消息。

      此功能需要在融云开发者后台开启历史消息云存储功能。注意：不支持聊天室！

      Parameters:
        `conversationType` - 会话类型，不支持聊天室。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `remoteHistoryMsgOption` - 可配置的参数 RemoteHistoryMsgOption
        `callback` - 获取历史消息的回调，按照时间顺序从新到旧排列。
      Since:

        5.0.0

    - #### getSendTimeByMessageId

           abstract long getSendTimeByMessageId(int messageId)

      根据消息 id 获取消息发送时间。

      Parameters:
        `messageId` - 指定的消息 id。
      Returns:

        消息发送成功的时间。

      Since:

        5.0.0

    - #### getTags

           abstract void getTags(IRongCoreCallback.ResultCallback<List<TagInfo>> callback)

      获取用户标签

      Parameters:
        `callback` - 获取用户标签回调
      Since:

        5.1.1

    - #### getTagsFromConversation

           abstract void getTagsFromConversation(ConversationIdentifier conversationIdentifier, IRongCoreCallback.ResultCallback<List<ConversationTagInfo>> callback)

      获取指定会话下的所有标签

      Parameters:
        `conversationIdentifier` - ConversationIdentifier
        `callback` - 获取指定会话下的所有标签回调
      Since:

        5.1.1

    - #### getTextMessageDraft

           abstract void getTextMessageDraft(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<String> callback)

      获取会话中的草稿信息。

      Parameters:
        `conversationType` - 会话类型。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `callback` - 获取草稿文字内容的回调。
      Since:

        5.0.0

    - #### getTheFirstUnreadMessage

           abstract void getTheFirstUnreadMessage(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Message> callback)

      获取第一条未读消息。

      Parameters:
        `conversationType` - 会话类型
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `callback` - 回调
      Since:

        5.0.0

    - #### getTopForegroundActivity

          @Deprecated() abstract Activity getTopForegroundActivity()

      获取处于前台的最上层 Activity。

      Returns:

        当前应用在前台，返回最上层 Activity；当前应用在后台,返回 NULL。

      Since:

        5.0.0

    - #### getTotalUnreadCount

           abstract void getTotalUnreadCount(IRongCoreCallback.ResultCallback<Integer> callback)

      获取所有会话的总未读消息数。

      注意：不包含聊天室，聊天室消息不计数。

      Parameters:
        `callback` - 未读消息数的回调。
      Since:

        5.0.0

    - #### getTotalUnreadCount

           abstract void getTotalUnreadCount(IRongCoreCallback.ResultCallback<Integer> callback, Array<Conversation> conversations)

      获取所有指定会话的总未读消息数。

      注意：不包含聊天室，聊天室消息不计数。

      Parameters:
        `callback` - 获取指定会话总未读数的回调。
        `conversations` - 指定会话。
      Since:

        5.0.0

    - #### getTypingUserListFromConversation

           abstract Collection<TypingStatus> getTypingUserListFromConversation(ConversationType conversationType, String targetId)

      获取会话正在输入的用户列表

      Parameters:
        `conversationType` - 会话类型
        `targetId` - 会话 id
      Returns:

        会话正在输入的用户列表

      Since:

        5.0.0

    - #### getUnreadCount

           abstract void getUnreadCount(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Integer> callback)

      获取指定会话的未读消息数。

      注意：不包含聊天室，聊天室消息不计数。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `callback` - 未读消息数的回调。
      Since:

        5.0.0

    - #### getUnreadCount

           abstract void getUnreadCount(Array<ConversationType> conversationTypes, boolean containBlocked, IRongCoreCallback.ResultCallback<Integer> callback)

      获取指定会话类型的总未读消息数。

      注意：不包含聊天室，聊天室消息不计数。

      Parameters:
        `conversationTypes` - 会话类型数组 io.rong.imlib.model.Conversation.
        `containBlocked` - 是否包含免打扰消息的未读消息数。
        `callback` - 未读消息数的回调。
      Since:

        5.0.0

    - #### getUnreadCount

           abstract void getUnreadCount(Array<ConversationType> conversationTypes, IRongCoreCallback.ResultCallback<Integer> callback)

      获取指定会话类型的总未读消息数。

      注意：不包含聊天室，聊天室消息不计数。

      Parameters:
        `conversationTypes` - 会话类型数组 io.rong.imlib.model.Conversation.
        `callback` - 未读消息数的回调。
      Since:

        5.0.0

    - #### getUnreadCount

           abstract void getUnreadCount(IRongCoreCallback.ResultCallback<Integer> callback, Array<ConversationType> conversationTypes)

      获取指定会话类型的总未读消息数。

      注意：不包含聊天室，聊天室消息不计数。

      Parameters:
        `callback` - 未读消息数的回调。
        `conversationTypes` - 会话类型，可传多个会话类型。
      Since:

        5.0.0

    - #### getUnreadMentionedMessages

           abstract void getUnreadMentionedMessages(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<List<Message>> callback)

      获取会话中未读的 @ 消息。

      Parameters:
        `conversationType` - 会话类型。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id。
        `callback` - 获取未读 @ 消息的回调。回调里返回的消息列表，按照时间顺序从旧到新。
      Since:

        5.0.0

    - #### getUnreadMentionedMessages

           abstract void getUnreadMentionedMessages(ConversationType conversationType, String targetId, int count, boolean desc, IRongCoreCallback.ResultCallback<List<Message>> callback)

      Since:

        5.2.5

    - #### getVendorToken

           abstract void getVendorToken(IRongCoreCallback.ResultCallback<String> resultCallback)

      获取登录者身份认证信息。

      第三方厂商通过使用此接口获取 token，然后与厂商的注册信息一起去融云服务器做认证。

      Parameters:
        `resultCallback` - 请求回调。
      Since:

        5.0.0

    - #### getVideoLimitTime

           abstract int getVideoLimitTime()

      获取允许发送视频文件的最大时长。

      Returns:

        返回允许发送视频文件的最大时长，单位为秒，获取失败返回 -1。

      Since:

        5.0.0

    - #### insertIncomingMessage

           abstract void insertIncomingMessage(ConversationType type, String targetId, String senderUserId, ReceivedStatus receivedStatus, MessageContent content, IRongCoreCallback.ResultCallback<Message> resultCallback)

      向本地会话中插入一条消息，方向为接收。

      这条消息只是插入本地会话，不会实际发送给服务器和对方。插入消息需为入库消息，即 ISPERSISTED，否者会回调 RC_INVALID_PARAMETER_MSG_TAG。

      Parameters:
        `type` - 会话类型。
        `targetId` - 会话 id。比如私人会话时，是对方的 id； 群组会话时，是群 id； 讨论组会话时，则为该讨论,组的 id。
        `senderUserId` - 发送方 id。
        `receivedStatus` - 接收状态 Message.
        `content` - 消息内容。如TextMessageImageMessage等。
        `resultCallback` - 获得消息发送实体的回调。
      Since:

        5.0.0

    - #### insertIncomingMessage

           abstract void insertIncomingMessage(ConversationType type, String targetId, String senderUserId, ReceivedStatus receivedStatus, MessageContent content, long sentTime, IRongCoreCallback.ResultCallback<Message> resultCallback)

      向本地会话中插入一条消息，方向为接收。

      这条消息只是插入本地会话，不会实际发送给服务器和对方。插入消息需为入库消息，即 ISPERSISTED，否者会回调 RC_INVALID_PARAMETER_MSG_TAG。

      Parameters:
        `type` - 会话类型。
        `targetId` - 会话 id。比如私人会话时，是对方的 id； 群组会话时，是群 id； 讨论组会话时，则为该讨论组的 id。
        `senderUserId` - 发送方 id
        `receivedStatus` - 接收状态 Message.
        `content` - 消息内容。如 TextMessageImageMessage等。
        `sentTime` - 消息的发送时间 getSentTime 。
        `resultCallback` - 获得消息发送实体的回调。
      Since:

        5.0.0

    - #### insertOutgoingMessage

           abstract void insertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, IRongCoreCallback.ResultCallback<Message> resultCallback)

      向本地会话中插入一条消息。

      这条消息只是插入本地会话，不会实际发送给服务器和对方。 插入消息需为入库消息，即ISPERSISTED，否者会回调 RC_INVALID_PARAMETER_MSG_TAG

      Parameters:
        `type` - 会话类型。
        `targetId` - 会话 id。比如私人会话时，是对方的 id； 群组会话时，是群 id； 讨论组会话时，则为该讨论组的 id。
        `sentStatus` - 发送状态 Message.
        `content` - 消息内容。如TextMessageImageMessage 等。
        `resultCallback` - 获得消息发送实体的回调。
      Since:

        5.0.0

    - #### insertOutgoingMessage

           abstract void insertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, long sentTime, IRongCoreCallback.ResultCallback<Message> resultCallback)

      向本地会话中插入一条消息，方向为发送。

      这条消息只是插入本地会话，不会实际发送给服务器和对方。 插入消息需为入库消息，即 ISPERSISTED，否者会回调 RC_INVALID_PARAMETER_MSG_TAG

      Parameters:
        `type` - 会话类型。
        `targetId` - 会话 id。比如私人会话时，是对方的 id； 群组会话时，是群 id； 讨论组会话时，则为该讨论组的 id。
        `sentStatus` - 发送状态 Message.
        `content` - 消息内容。如TextMessageImageMessage 等。
        `sentTime` - 消息的发送时间 getSentTime 。
        `resultCallback` - 获得消息发送实体的回调。
      Since:

        5.0.0

    - #### isFileDownloading

           abstract boolean isFileDownloading(Object uid)

      判断文件是否正在下载中。

      注意：此方法只适用断点续传下载。

      Parameters:
        `uid` - 文件 uid，文件的唯一识别标志
      Returns:

        是否正在下载

      Since:

        5.1.2

    - #### pauseDownloadMediaFile

           abstract void pauseDownloadMediaFile(String fileUniqueId, IRongCoreCallback.OperationCallback callback)

      暂停多媒体文件下载。

      Parameters:
        `fileUniqueId` - 文件的唯一标识。 须与 downloadMediaFile 第一个参数对应
        `callback` - 暂停下载多媒体文件时的回调。
      Since:

        5.0.0

    - #### pauseDownloadMediaMessage

           abstract void pauseDownloadMediaMessage(Message message, IRongCoreCallback.OperationCallback callback)

      暂停多媒体消息下载。

      Parameters:
        `message` - 多媒体文件消息。
        `callback` - 暂停下载多媒体文件时的回调。
      Since:

        5.0.0

    - #### recallMessage

           abstract void recallMessage(Message message, String pushContent, IRongCoreCallback.ResultCallback<RecallNotificationMessage> callback)

      撤回消息

      Parameters:
        `message` - 被撤回的消息
        `pushContent` - 当下发 push 消息时，在通知栏里会显示这个字段，不设置将使用融云默认推送内容
        `callback` - onSuccess 里回调 RecallNotificationMessage，IMLib 已经被撤回的消息需用 替换， 用户需要在界面上对 RecallNotificationMessage 进行展示。
      Since:

        5.0.0

    - #### recallMessage

           abstract void recallMessage(Message message, RecallMessageOption recallMessageOption, String pushContent, IRongCoreCallback.ResultCallback<Message> callback)

      撤回消息

      Parameters:
        `message` - 被撤回的消息
        `pushContent` - 当下发 push 消息时，在通知栏里会显示这个字段，不设置将使用融云默认推送内容
        `callback` - onSuccess 里回调 RecallNotificationMessage，IMLib 已经被撤回的消息需用 替换， 用户需要在界面上对 RecallNotificationMessage 进行展示。
      Since:

        5.0.0

    - #### removeConversation

          @Deprecated() abstract void removeConversation(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> callback)

      从会话列表中移除某一会话。

      此方法不删除会话内的消息。如果此会话中有新的消息，该会话将重新在会话列表中显示，并显示最近的历史消息。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `callback` - 移除会话是否成功的回调，回调类型是 Boolean，`ResultCallback<Boolean>` 。
      Since:

        5.0.0

    - #### removeConversation

           abstract void removeConversation(ConversationType conversationType, String targetId, boolean isDeleteRemote, IRongCoreCallback.OperationCallback callback)

      从会话列表中移除某一会话。

      此方法不删除会话内的消息。如果此会话中有新的消息，该会话将重新在会话列表中显示，并显示最近的历史消息。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `isDeleteRemote` - 是否删除远端会话。
        `callback` - 移除会话是否成功的回调，回调类型是 Boolean，`ResultCallback<Boolean>` 。
      Since:

        5.20.0

    - #### removeConversationsFromTag

           abstract void removeConversationsFromTag(String tagId, List<ConversationIdentifier> conversationIdentifierList, IRongCoreCallback.OperationCallback callback)

      删除指定一个标签中会话功能

      Parameters:
        `tagId` - 标签 id
        `conversationIdentifierList` - 会话列表
        `callback` - 删除指定一个标签中会话功能回调
      Since:

        5.1.1

    - #### removeFromBlacklist

           abstract void removeFromBlacklist(String userId, IRongCoreCallback.OperationCallback callback)

      将某个用户从黑名单中移出。

      Parameters:
        `userId` - 用户 id。
        `callback` - 移除黑名单回调。
      Since:

        5.0.0

    - #### removeMessageExpansion

           abstract void removeMessageExpansion(List<String> keyArray, String messageUId, IRongCoreCallback.OperationCallback callback)

      删除消息扩展信息中特定的键值对

      Parameters:
        `keyArray` - 消息扩展信息中待删除的 key 的列表，类型是 ArrayList
        `messageUId` - 消息 messageUId
        `callback` - 删除消息扩展信息回调
      Since:

        5.0.0

    - #### removeNotificationQuietHours

           abstract void removeNotificationQuietHours(IRongCoreCallback.OperationCallback callback)

      移除消息通知免打扰时间。

      Parameters:
        `callback` - 移除消息通知免打扰时间回调。
      Since:

        5.0.0

    - #### removeTag

           abstract void removeTag(String tagId, IRongCoreCallback.OperationCallback callback)

      移除标签

      Parameters:
        `tagId` - 标签唯一标识，字符型，长度不超过 10 个字
        `callback` - 删除标签回调
      Since:

        5.1.1

    - #### removeTagsFromConversation

           abstract void removeTagsFromConversation(ConversationIdentifier conversationIdentifier, List<String> tagIds, IRongCoreCallback.OperationCallback callback)

      删除指定会话中的某些标签

      Parameters:
        `conversationIdentifier` - ConversationIdentifier
        `tagIds` - 标签 id 列表
        `callback` - 删除指定会话中的某些标签回调
      Since:

        5.1.1

    - #### saveTextMessageDraft

           abstract void saveTextMessageDraft(ConversationType conversationType, String targetId, String content, IRongCoreCallback.ResultCallback<Boolean> callback)

      保存会话草稿信息。

      Parameters:
        `conversationType` - 会话类型。参考 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `content` - 草稿的文字内容。
        `callback` - 是否保存成功的回调。
      Since:

        5.0.0

    - #### searchConversations

           abstract void searchConversations(String keyword, Array<ConversationType> conversationTypes, Array<String> objectNames, IRongCoreCallback.ResultCallback<List<SearchConversationResult>> resultCallback)

      根据关键字搜索会话。

      此方法可快速返回匹配的会话列表，并且会话中包含已匹配的消息数量。通过 {SearchConversationResult#getMatchCount()} 得到。注意：如果需要自定义消息也能被搜索到，需要在自定义消息中实现 getSearchableWord 方法。

      Parameters:
        `keyword` - 搜索的关键字。
        `conversationTypes` - 搜索的会话类型。
        `objectNames` - 搜索的消息类型,例如:RC:TxtMsg。
        `resultCallback` - 搜索结果回调。
      Since:

        5.0.0

    - #### searchMessages

           abstract void searchMessages(ConversationType conversationType, String targetId, String keyword, int count, long beginTime, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)

      根据关键字搜索指定会话中的消息。

      注意：如果需要自定义消息也能被搜索到，需要在自定义消息中实现 getSearchableWord 方法。

      Parameters:
        `conversationType` - 指定的会话类型。
        `targetId` - 指定的会话 id。
        `keyword` - 搜索的关键字。
        `count` - 返回的搜索结果数量， 传 0 时会返回所有搜索到的消息， 非 0 时，逐页返回。
        `beginTime` - 查询 beginTime 之前的消息， 传 0 时从最新消息开始搜索，从该时间往前搜索。
        `resultCallback` - 搜索结果回调。
      Since:

        5.0.0

    - #### searchMessages

           abstract void searchMessages(ConversationType conversationType, String targetId, String keyword, long startTime, long endTime, int offset, int limit, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)

      根据关键字，指定时间段搜索指定会话中的消息。

      注意：如果需要自定义消息也能被搜索到，需要在自定义消息中实现 getSearchableWord 方法。

      Parameters:
        `conversationType` - 指定的会话类型。
        `targetId` - 指定的会话 id。
        `keyword` - 搜索的关键字。
        `startTime` - 开始时间
        `endTime` - 结束时间
        `offset` - 偏移量
        `limit` - 返回的搜索结果数量，limit 需大于 0，最大值为 100，如果大于 100，会默认成 100
        `resultCallback` - 搜索结果回调。
      Since:

        5.1.2

    - #### searchMessages

           abstract void searchMessages(ConversationIdentifier conversationIdentifier, String keyword, Array<String> objectNameList, int limit, long startTime, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)

      根据关键字搜索指定会话中，指定消息类型的本地历史消息

      此方法允许应用根据关键词、对象名列表、时间范围等条件在一个特定对话中搜索消息。搜索结果将通过回调方式返回。

      Parameters:
        `conversationIdentifier` - 会话类型、会话 ID
        `keyword` - 关键字，非空
        `objectNameList` - 消息类型数组,支持传入多个，如(文本: "RC:TxtMsg")
        `limit` - 最大的查询数量[最大 100，超过则使用 100]
        `startTime` - 查询 startTime 之前的消息（传 0 表示从最新消息开始搜索），单位：毫秒
        `resultCallback` - 搜索结果的回调接口。成功时返回消息列表，失败时返回错误信息。
      Since:

        5.8.1

    - #### searchMessagesByUser

           abstract void searchMessagesByUser(ConversationType conversationType, String targetId, String userId, int count, long beginTime, IRongCoreCallback.ResultCallback<List<Message>> resultCallback)

      根据用户 id 搜索指定会话中的消息。

      注意：如果需要自定义消息也能被搜索到，需要在自定义消息中实现 getSearchableWord 方法。

      Parameters:
        `conversationType` - 指定的会话类型。
        `targetId` - 指定的会话 id。
        `userId` - 用户 id。
        `count` - 返回的搜索结果数量（`0 < count <= 100`，如果 `count > 100`，则返回 100。
        `beginTime` - 查询记录的起始时间， 传 0 时从最新消息开始搜索，从该时间往前搜索。
        `resultCallback` - 搜索结果回调。
      Since:

        5.0.0

    - #### sendDirectionalMediaMessage

           abstract void sendDirectionalMediaMessage(Message message, Array<String> userIds, String pushContent, String pushData, IRongCoreCallback.ISendMediaMessageCallback callback)

      发送定向多媒体消息。

      向会话中特定的某些用户发送消息，会话中其他用户不会收到消息。 发送前构造 Message 消息实体，消息实体中的 content 必须为多媒体消息。 例如：ImageMessage 、 或其他继承自 MediaMessageContent 的消息。

      从 5.6.9 版本开始，支持超级群会话类型。

      Parameters:
        `message` - 发送消息的实体。
        `userIds` - 定向接收者 id 数组。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如: RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调 IRongCoreCallback.SendMediaMessageCallback。
      Since:

        5.0.0

    - #### sendDirectionalMessage

           abstract void sendDirectionalMessage(ConversationType type, String targetId, MessageContent content, Array<String> userIds, String pushContent, String pushData, IRongCoreCallback.ISendMessageCallback callback)

      发送定向消息。

      此方法用于在群组、超级群中发送消息给其中的部分用户，其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息，多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib，可以使用此方法发送定向消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送定向消息，否则不会自动更新 UI。

      从 5.6.9 版本开始，支持超级群会话类型。

      Parameters:
        `type` - 会话类型。
        `targetId` - 会话 id。可能是群组 Id 、超级群 Id。
        `content` - 消息内容，例如 TextMessage, ImageMessage。
        `userIds` - 讨论组或群组会话中将会接收到此消息的用户列表。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调，参考 io.rong.imlib.IRongCoreCallback.
      Since:

        5.0.0

    - #### sendDirectionalMessage

           abstract void sendDirectionalMessage(Message message, Array<String> userIds, String pushContent, String pushData, IRongCoreCallback.ISendMessageCallback callback)

      发送定向消息。

      此方法用于在群组、超级群中发送消息给其中的部分用户，其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息，多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib，可以使用此方法发送定向消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送定向消息，否则不会自动更新 UI。

      从 5.6.9 版本开始，支持超级群会话类型。

      Parameters:
        `message` - 发送消息的实体。
        `userIds` - 讨论组或群组会话中将会接收到此消息的用户列表。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调，参考 io.rong.imlib.IRongCoreCallback.
      Since:

        5.2.3

    - #### sendDirectionalMessage

           abstract void sendDirectionalMessage(ConversationType type, String targetId, MessageContent content, Array<String> userIds, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMessageCallback callback)

      发送定向消息。

      此方法用于在群组、超级群中发送消息给其中的部分用户，其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息，多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib，可以使用此方法发送定向消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送定向消息，否则不会自动更新 UI。

      从 5.6.9 版本开始，支持超级群会话类型。

      Parameters:
        `type` - 会话类型。
        `targetId` - 会话 id。可能是群组 Id 、超级群 Id。
        `content` - 消息内容，例如 TextMessage, ImageMessage。
        `userIds` - 讨论组或群组会话中将会接收到此消息的用户列表。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `option` - 发送消息附加选项，目前仅支持设置 isVoIPPush，如果对端设备是 iOS，设置 isVoIPPush 为 True，会走 VoIP 通道推送 Push。
        `callback` - 发送消息的回调，参考 io.rong.imlib.IRongCoreCallback.
      Since:

        5.1.2

    - #### sendDirectionalMessage

           abstract void sendDirectionalMessage(Message message, Array<String> userIds, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMessageCallback callback)

      发送定向消息。

      此方法用于在群组、超级群中发送消息给其中的部分用户，其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息，多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib，可以使用此方法发送定向消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送定向消息，否则不会自动更新 UI。

      从 5.6.9 版本开始，支持超级群会话类型。

      Parameters:
        `message` - 发送消息的实体。
        `userIds` - 讨论组或群组会话中将会接收到此消息的用户列表。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `option` - 发送消息附加选项，目前仅支持设置 isVoIPPush，如果对端设备是 iOS，设置 isVoIPPush 为 True，会走 VoIP 通道推送 Push。
        `callback` - 发送消息的回调，参考 io.rong.imlib.IRongCoreCallback.
      Since:

        5.2.3

    - #### sendImageMessage

           abstract void sendImageMessage(ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, IRongCoreCallback.SendImageMessageCallback callback)

      发送图片消息。

      如果您使用IMLib，可以使用此方法发送图片消息； 如果您使用 IMKit，请使用 RongIM 中的同名方法发送图片消息，否则不会自动更新 UI。

      Parameters:
        `type` - 会话类型。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `content` - 消息内容，例如 TextMessage, ImageMessage。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调。参考 IRongCoreCallback.SendImageMessageCallback。
      Since:

        5.0.0

    - #### sendImageMessage

           abstract void sendImageMessage(Message message, String pushContent, String pushData, IRongCoreCallback.SendImageMessageCallback callback)

      发送图片消息。

      如果您使用IMLib，可以使用此方法发送图片消息；如果您使用 IMKit，请使用 RongIM 中的同名方法发送图片消息，否则不会自动更新 UI。

      Parameters:
        `message` - 发送消息的实体。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调。参考 io.rong.imlib.IRongCoreCallback.
      Since:

        5.0.0

    - #### sendImageMessage

           abstract void sendImageMessage(Message message, String pushContent, String pushData, IRongCoreCallback.SendImageMessageWithUploadListenerCallback callback)

      发送图片消息并将图片上传到自己的服务器。

      该方法将图片上传到自己的服务器发送，同时更新图片状态。 使用该方法在上传图片时，会回调 此回调中会携带 对象，使用者只需要调用其中的 update 更新进度 success 更新成功状态，并告知上传成功后的图片地址 error 更新失败状态

      Parameters:
        `message` - 发送消息的实体。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调，回调中携带 IRongCoreListener.UploadImageStatusListener 对象，用户调用该对象中的方法更新状态。
      Since:

        5.0.0

    - #### sendMediaMessage

           abstract void sendMediaMessage(Message message, String pushContent, String pushData, IRongCoreCallback.ISendMediaMessageCallback callback)

      发送多媒体消息。

      发送前构造 Message 消息实体，消息实体中的 content 必须为多媒体消息。 例如：ImageMessage 、 或其他继承自 MediaMessageContent 的消息。

      Parameters:
        `message` - 发送消息的实体。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型，例如：RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调 IRongCoreCallback.SendMediaMessageCallback。
      Since:

        5.0.0

    - #### sendMediaMessage

           abstract void sendMediaMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMediaMessageCallback callback)

      发送多媒体消息。

      发送前构造 Message 消息实体，消息实体中的 content 必须为多媒体消息。 例如：ImageMessage 、 或其他继承自 MediaMessageContent 的消息。

      Parameters:
        `message` - 发送消息的实体。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型，例如：RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `option` - 发送消息附加选项，目前仅支持设置 isVoIPPush，如果对端设备是 iOS，设置 isVoIPPush 为 True，会走 VoIP 通道推送 Push。
        `callback` - 发送消息的回调 IRongCoreCallback.SendMediaMessageCallback。
      Since:

        5.4.4

    - #### sendMediaMessage

           abstract void sendMediaMessage(Message message, String pushContent, String pushData, IRongCoreCallback.ISendMediaMessageCallbackWithUploader callback)

      发送多媒体消息，可以使用该方法将多媒体文件上传到自己的服务器。

      上传多媒体文件时，会回调 onAttached 此回调中携带 对象，使用者只需要调用此对象中的 update 更新进度 success 更新成功状态，并告知上传成功后的文件地址 error 更新失败状态 cancel ()} 更新取消状态

      Parameters:
        `message` - 发送消息的实体。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如: RC:TxtMsg, RC:VcMsg, RC:ImgMsg, RC:FileMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调，回调中携带 IRongCoreCallback.MediaMessageUploader 对象，用户调用该对象中的方法更新状态。
      Since:

        5.0.0

    - #### sendMediaMessage

           abstract void sendMediaMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMediaMessageCallbackWithUploader callback)

      发送多媒体消息，可以使用该方法将多媒体文件上传到自己的服务器。

      上传多媒体文件时，会回调 onAttached 此回调中携带 对象，使用者只需要调用此对象中的 update 更新进度 success 更新成功状态，并告知上传成功后的文件地址 error 更新失败状态 cancel ()} 更新取消状态

      Parameters:
        `message` - 发送消息的实体。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如: RC:TxtMsg, RC:VcMsg, RC:ImgMsg, RC:FileMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `option` - 发送消息附加选项，目前仅支持设置 isVoIPPush，如果对端设备是 iOS，设置 isVoIPPush 为 True，会走 VoIP 通道推送 Push。
        `callback` - 发送消息的回调，回调中携带 IRongCoreCallback.MediaMessageUploader 对象，用户调用该对象中的方法更新状态。
      Since:

        5.4.4

    - #### sendMessage

           abstract void sendMessage(ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, IRongCoreCallback.ISendMessageCallback callback)

      根据会话类型，发送消息。

      通过 io.rong.imlib.IRongCoreCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。注意：1 秒钟发送消息不能超过 5 条。

      Parameters:
        `type` - 会话类型。
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `content` - 消息内容，例如 TextMessage, ImageMessage。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到 push 消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调。参考 io.rong.imlib.IRongCoreCallback.
      Since:

        5.0.0

    - #### sendMessage

           abstract void sendMessage(Message message, String pushContent, String pushData, IRongCoreCallback.ISendMessageCallback callback)

      发送消息。

      通过 io.rong.imlib.IRongCoreCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。注意：1 秒钟发送消息不能超过 5 条。

      Parameters:
        `message` - 将要发送的消息体。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `callback` - 发送消息的回调，参考 io.rong.imlib.IRongCoreCallback.
      Since:

        5.0.0

    - #### sendMessage

           abstract void sendMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMessageCallback callback)

      发送消息。

      通过 io.rong.imlib.IRongCoreCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。注意：1 秒钟发送消息不能超过 5 条。

      Parameters:
        `message` - 要发送的消息体。
        `pushContent` - 当下发远程推送消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - 远程推送附加信息。如果设置该字段，用户在收到远程推送消息时，能通过 getPushData 方法获取。
        `option` - 发送消息附加选项，目前仅支持设置 isVoIPPush，如果对端设备是 iOS，设置 isVoIPPush 为 True，会走 VoIP 通道推送 Push。
        `callback` - 发送消息的回调，参考 io.rong.imlib.IRongCoreCallback.
      Since:

        5.0.0

    - #### sendPing

           abstract void sendPing()

      OEM 实现心跳对齐，发送 Ping 接口 1.后台 WakeLock 心跳 2.RongPush 心跳

      Since:

        5.0.0

    - #### sendReadReceiptMessage

          @Deprecated() abstract void sendReadReceiptMessage(ConversationType conversationType, String targetId, long timestamp)

      发送某个会话中的消息阅读回执

      使用 IMLib 可以注册监听 setReadReceiptListener；使用 IMkit 直接设置 rc_config.xml 中 `rc_read_receipt` 为 true。

      Parameters:
        `conversationType` - 会话类型（只适用 PRIVATE 和 ENCRYPTED 类型）
        `targetId` - 会话 id
        `timestamp` - 该会话中已读的最后一条消息的发送时间戳getSentTime
      Since:

        5.0.0

    - #### sendReadReceiptMessage

           abstract void sendReadReceiptMessage(ConversationType conversationType, String targetId, long timestamp, IRongCoreCallback.ISendMessageCallback callback)

      发送某个会话中的消息阅读回执。

      使用 IMLib 可以注册监听 setReadReceiptListener；使用 IMkit 直接设置 rc_config.xml 中 `rc_read_receipt` 为 true。

      Parameters:
        `conversationType` - 会话类型（只适用 PRIVATE 和 ENCRYPTED 类型）
        `targetId` - 会话 id
        `timestamp` - 会话中已读的最后一条消息的发送时间戳 getSentTime
        `callback` - 发送已读回执消息的回调
      Since:

        5.0.0

    - #### sendReadReceiptRequest

           abstract void sendReadReceiptRequest(Message message, IRongCoreCallback.OperationCallback callback)

      发起消息已读回执请求（只支持群组和讨论组）。

      注意：只能对自己发送的消息发起消息已读回执请求。

      Parameters:
        `message` - 需要请求已读回执的消息
        `callback` - 回调函数
      Since:

        5.0.0

    - #### sendReadReceiptResponse

           abstract void sendReadReceiptResponse(ConversationType type, String targetId, List<Message> messageList, IRongCoreCallback.OperationCallback callback)

      发送已读回执（只支持群组和讨论组）

      Parameters:
        `type` - 会话类型
        `targetId` - 会话 id
        `messageList` - 会话中需要发送已读回执的消息列表
        `callback` - 回调函数
      Since:

        5.0.0

    - #### sendTypingStatus

           abstract void sendTypingStatus(ConversationType conversationType, String targetId, String typingContentType)

      向会话中发送正在输入的状态，目前只支持单聊。

      Parameters:
        `conversationType` - 会话类型
        `targetId` - 会话 id
        `typingContentType` - 正在输入的消息的类型名， typingContentType 为用户当前正在编辑的消息类型名，即 Message 中 getObjectName 的返回值。 如文本消息，传类型名 "RC:TxtMsg"。
      Since:

        5.0.0

    - #### setConversationStatusListener

           abstract void setConversationStatusListener(IRongCoreListener.ConversationStatusListener listener)

      设置会话状态（置顶和免打扰）多端同步监听

      Parameters:
        `listener` - 会话状态（置顶和免打扰）多端同步监听 ConversationStatusListener
      Since:

        5.0.0

    - #### setReadReceiptV4Listener

           abstract void setReadReceiptV4Listener(IRongCoreListener.ReadReceiptV4Listener listener)

    - #### setConversationTagListener

           abstract void setConversationTagListener(IRongCoreListener.ConversationTagListener listener)

      设置 Tag 多端同步监听

      Parameters:
        `listener` - Tag 多端同步监听 io.rong.imlib.IRongCoreListener.
      Since:

        5.1.1

    - #### setConversationToTopInTag

           abstract void setConversationToTopInTag(String tagId, ConversationIdentifier conversationIdentifier, boolean isTop, IRongCoreCallback.OperationCallback callback)

      设置标签中会话置顶状态

      Parameters:
        `tagId` - tag id
        `conversationIdentifier` - ConversationIdentifier
        `isTop` - 是否置顶
        `callback` - 取消标签中会话置顶回调
      Since:

        5.1.1

    - #### setConversationToTop

          @Deprecated() abstract void setConversationToTop(ConversationType conversationType, String targetId, boolean isTop, boolean needCreate, IRongCoreCallback.ResultCallback<Boolean> callback)

      设置会话的置顶状态。

      若会话不存在，调用此方法 SDK 自动创建会话并置顶。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `isTop` - 是否置顶。
        `needCreate` - 会话不存在时，是否创建会话。
        `callback` - 设置置顶是否成功的回调。
      Since:

        5.0.0

    - #### setConversationToTop

           abstract void setConversationToTop(ConversationType conversationType, String id, boolean isTop, boolean needCreate, boolean needUpdateTime, IRongCoreCallback.ResultCallback<Boolean> callback)

      设置会话的置顶状态。

      若会话不存在，调用此方法 SDK 自动创建会话并置顶。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `id` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `isTop` - 是否置顶。
        `needCreate` - 会话不存在时，是否创建会话。
        `needUpdateTime` - 是否更新会话时间
        `callback` - 设置置顶是否成功的回调。
      Since:

        私有云 5.6.2

    - #### setConversationToTop

           abstract void setConversationToTop(ConversationType conversationType, String targetId, boolean isTop, IRongCoreCallback.ResultCallback<Boolean> callback)

      设置会话的置顶状态。

      若会话不存在，调用此方法 SDK 自动创建会话并置顶。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id。根据不同的 conversationType，可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        `isTop` - 是否置顶。
        `callback` - 设置置顶是否成功的回调。
      Since:

        5.0.0

    - #### setMessageBlockListener

           abstract void setMessageBlockListener(IRongCoreListener.MessageBlockListener listener)

      设置敏感词消息被拦截的监听。

      Parameters:
        `listener` - 消息被拦截的监听器。
      Since:

        5.1.4

    - #### setMessageExpansionListener

           abstract void setMessageExpansionListener(IRongCoreListener.MessageExpansionListener listener)

      设置消息扩展监听

      Parameters:
        `listener` - 消息扩展监听
      Since:

        5.0.0

    - #### setMessageExtra

           abstract void setMessageExtra(int messageId, String value, IRongCoreCallback.ResultCallback<Boolean> callback)

      设置本地消息的附加信息。

      用于扩展消息的使用场景。设置后可以通过 getHistoryMessages 取出带附加信息的消息。注意：只能用于本地使用，无法同步给远程用户。

      Parameters:
        `messageId` - 消息 id。
        `value` - 附加信息，最大 1024 字节。
        `callback` - 是否设置成功的回调。
      Since:

        5.0.0

    - #### setMessageReadTime

           abstract void setMessageReadTime(long messageId, long timestamp, IRongCoreCallback.OperationCallback callback)

      设置消息已读时间。

      Parameters:
        `messageId` - 消息 id
        `timestamp` - 消息时间戳
        `callback` - 设置消息已读的回调
      Since:

        5.0.0

    - #### setMessageReceivedStatus

           abstract void setMessageReceivedStatus(int messageId, ReceivedStatus receivedStatus, IRongCoreCallback.ResultCallback<Boolean> callback)

      设置消息接收状态。

      Parameters:
        `messageId` - 消息 id。
        `receivedStatus` - 接收到的消息状态。参考 Message.
        `callback` - 是否设置成功的回调。
      Since:

        5.0.0

    - #### setMessageSentStatus

           abstract void setMessageSentStatus(Message message, IRongCoreCallback.ResultCallback<Boolean> callback)

      设置消息发送状态。 备注：用户不允许设置为SENDING

      Parameters:
        `message` - 消息实体。参考 Message 。
        `callback` - 是否设置成功的回调。 注意：message 对象需要设置有效的 messageId 和 sentStatus
      Since:

        5.0.0

    - #### setNotificationQuietHours

           abstract void setNotificationQuietHours(String startTime, int spanMinutes, IRongCoreCallback.OperationCallback callback)

      设置消息通知免打扰时间。

      Parameters:
        `startTime` - 起始时间 格式 HH:MM:SS。
        `spanMinutes` - 设置的免打扰结束时间距离起始时间的间隔分钟数。 0 <spanMinutes <1440。 比如，您设置的起始时间是 00：00， 结束时间为 23：59，则 spanMinutes 为 23 * 60 + 59 = 1439 分钟。
        `callback` - 消息通知免打扰时间回调。
      Since:

        5.0.0

    - #### setOfflineMessageDuration

           abstract void setOfflineMessageDuration(int duration, IRongCoreCallback.ResultCallback<Long> callback)

      设置离线消息在服务端的存储时间（以天为单位）。

      注意：该功能需要客户提工单，在服务端开通此功能后，客户端调用该方法才生效。

      Parameters:
        `duration` - 离线消息补偿时间，范围【1~7 天】。
        `callback` - 回调
      Since:

        5.0.0

    - #### setOnReceiveDestructionMessageListener

           abstract void setOnReceiveDestructionMessageListener(IRongCoreListener.OnReceiveDestructionMessageListener listener)

      设置阅后即焚消息接收监听器

      Parameters:
        `listener` - 阅后即焚消息接收监听器
      Since:

        5.0.0

    - #### setPushContentShowStatus

           abstract void setPushContentShowStatus(boolean showStatus, IRongCoreCallback.OperationCallback callback)

      设置是否显示远程推送内容详情。

      注意：此功能需要从服务端开启用户设置功能。

      Parameters:
        `showStatus` - 是否显示 远程推送内容， @code true} 显示 ， `false` 不显示。
        `callback` - 回调
      Since:

        5.0.0

    - #### setPushLanguage

           abstract void setPushLanguage(IRongCoreEnum.PushLanguage language, IRongCoreCallback.OperationCallback callback)

      设置远程推送语言，目前支持中文和英文。

      前提：移动端未在线，Web 、MAC/PC 终端在线，移动端是否接收远程推送。注意：此功能需要从服务端开启用户设置功能。

      Parameters:
        `language` - 远程推送语言类型，IRongCoreEnum.PushLanguage。
        `callback` - 执行操作的回调
      Since:

        5.0.0

    - #### setPushLanguageCode

           abstract void setPushLanguageCode(String language, IRongCoreCallback.OperationCallback callback)

      设置推送内容的自然语言。

      Parameters:
        `language` - 通过 SDK 设置的语言环境，语言缩写内容格式为 (ISO-639 Language Code)_(ISO-3166 Country Codes)， 如：zh_CN。目前融云支持的内置推送语言为 zh_CN、en_US、ar_SA
        `callback` - 执行操作的回调
      Since:

        5.0.0

    - #### setPushNotificationListener

           abstract void setPushNotificationListener(IRongCoreListener.PushNotificationListener listener)

      设置推送相关配置信息改变的监听 服务器配置的信息，例如：推送语言，通知消息是否显示详情等改变时，在第一次链接成功初始化回调该方法

      Parameters:
        `listener` - 消息是否显示详情监听
      Since:

        5.1.1

    - #### setPushReceiveStatus

           abstract void setPushReceiveStatus(boolean receiveStatus, IRongCoreCallback.OperationCallback callback)

      设置是否接收远程推送。

      注意：此功能需要从服务端开启用户设置功能。

      Parameters:
        `receiveStatus` - 是否接收远程推送。 `true` 接收， `false` 不接收。
        `callback` - 回调
      Since:

        5.0.0

    - #### setReconnectKickEnable

           abstract void setReconnectKickEnable(boolean enable)

      设置断线重连时是否踢出重连设备。

      用户没有开通多设备登录功能的前提下，同一个账号在一台新设备上登录的时候，会把这个账号在之前登录的设备上踢出。 由于 SDK 有断线重连功能，存在下面情况： 用户在 A 设备登录，A 设备网络不稳定，没有连接成功，SDK 启动重连机制。 用户此时又在 B 设备登录，B 设备连接成功。 A 设备网络稳定之后，用户在 A 设备连接成功，B 设备被踢出。 这个接口就是为这种情况加的。 设置 enable 为 `true` 时，SDK 重连的时候发现此时已有别的设备连接成功，不再强行踢出已有设备，而是踢出重连设备。注意： 1. 该功能需要提工单，在服务端开通此功能后，客户端调用该方法才生效。 2. 此方法需要在 init之前调用。

      Parameters:
        `enable` - 是否踢出重连设备
      Since:

        5.0.0

    - #### setRLogFileMaxSize

           abstract void setRLogFileMaxSize(long pSize)

      设置业务日志文件大小，默认 1M。

      接口及时生效，超过设置大小压缩成 zip 文件存放到本地。

      Parameters:
        `pSize` - 日志文件大小，单位 byte。
      Since:

        5.0.0

    - #### setRLogLevel

           abstract void setRLogLevel(int pLevel)

      设置控制台日志级别。在初始化后设置

      Parameters:
        `pLevel` - 日志等级。 日志级别严重程度从高到低直接如下
        - F: fatal
        - E: error
        - W: warning
        - I: info
        - D: debug
        - V: verbose
        默认会把所有级别日志输出到控制台设置特定级别会把该级别及以上级别日志输出到控制台例如传入 E 会把 F、E 输出，不会输出 W、I、D、V。 例如传入 W 会把 F、E、W 输出，不会输出 I、D、V。 如果不需要 SDK 往控制台输出日志，传入 NONE
      Since:

        5.0.0

    - #### setSyncConversationReadStatusListener

           abstract void setSyncConversationReadStatusListener(IRongCoreListener.SyncConversationReadStatusListener listener)

      设置多端同步会话阅读状态监听。

      Parameters:
        `listener` - 多端同步会话阅读状态监听 IRongCoreListener.SyncConversationReadStatusListener。
      Since:

        5.0.0

    - #### setTagListener

           abstract void setTagListener(IRongCoreListener.TagListener listener)

      设置会话标签更改时的回调。

      当用户在其它端添加移除更新标签时会触发此监听器，用于多端之间的信息同步。 收到此回调，可调用 getTags 获取最新标签信息。

      请在初始化之后，连接之前调用该方法。

      Parameters:
        `listener` - 会话标签监听器。
      Since:

        5.1.1

    - #### setUploadCallback

          @Deprecated() abstract void setUploadCallback(UploadCallback pCallback)

      设置上传 RLog 日志到服务器的回调。

      Parameters:
        `pCallback` - 日志上传回调。
      Since:

        5.0.0

    - #### stopDestructMessage

           abstract void stopDestructMessage(Message message)

      取消焚烧消息，仅支持单聊。

      Parameters:
        `message` - 取消焚烧的消息。
      Since:

        5.0.0

    - #### supportResumeBrokenTransfer

           abstract void supportResumeBrokenTransfer(String url, IRongCoreCallback.ResultCallback<Boolean> callback)

      判断是否支持断点续传。

      Parameters:
        `url` - 文件 Url
        `callback` - 回调
      Since:

        5.0.0

    - #### switchAppKey

           abstract void switchAppKey(String appKey)

      切换 appKey。

      当一个应用对应多个环境， 即多个 appKey 时， 调用此方法实现融云 SDK 热切换。 注意: 调用此方法后, 还需要再次调用 init 和 connect,传入新 appKey 对应的 token，重新初始化和连接。

      Parameters:
        `appKey` - 应用的另一个 appKey。
      Since:

        5.0.0

    - #### syncConversationReadStatus

           abstract void syncConversationReadStatus(ConversationType type, String targetId, long timestamp, IRongCoreCallback.OperationCallback callback)

      同步会话阅读状态。

      Parameters:
        `type` - 会话类型
        `targetId` - 会话 id
        `timestamp` - 会话中已读的最后一条消息的发送时间戳 getSentTime
        `callback` - 回调函数
      Since:

        5.0.0

    - #### updateConversationInfo

           abstract void updateConversationInfo(ConversationType conversationType, String targetId, String title, String portrait, IRongCoreCallback.ResultCallback<Boolean> callback)

      更新会话信息。

      Parameters:
        `conversationType` - 会话类型 io.rong.imlib.model.Conversation.
        `targetId` - 会话 id
        `title` - 会话标题
        `portrait` - 会话头像
        `callback` - 回调
      Since:

        5.0.0

    - #### updateMessageExpansion

           abstract void updateMessageExpansion(Map<String, String> expansion, String messageUId, IRongCoreCallback.OperationCallback callback)

      更新消息扩展信息

      每条消息携带扩展信息键值对最大值 300个，单次设置扩展信息键值对最大值 20个

      Parameters:
        `expansion` - 要更新的消息扩展信息键值对，类型是 HashMap；Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式，不支持汉字。Value 可以输入空格。
        `messageUId` - 消息 messageUId
        `callback` - 更新扩展信息回调
      Since:

        5.0.0

    - #### addToBlacklist

           abstract void addToBlacklist(String userId, IRongCoreCallback.OperationCallback callback)

      将某个用户加入黑名单。

      将对方加入黑名单后，对方再发消息时，提示"您的消息已经发出, 但被对方拒收"。但您仍然可以给对方发送消息。

      Parameters:
        `userId` - 用户 id。
        `callback` - 加到黑名单回调。
      Since:

        5.0.0

    - #### doMethod

           abstract Map doMethod(String clazzName, String methodKey, Map param)

      Since:

        5.0.0

    - #### updateTag

           abstract void updateTag(TagInfo tagInfo, IRongCoreCallback.OperationCallback callback)

      更新标签

      Parameters:
        `tagInfo` - TagInfo
        `callback` - 回调
      Since:

        5.1.1

    - #### getUnreadCountByTag

           abstract void getUnreadCountByTag(String tagId, boolean containBlocked, IRongCoreCallback.ResultCallback<Integer> callback)

      按标签获取未读消息数

      Parameters:
        `tagId` - tag id
        `containBlocked` - 是否包含免打扰
        `callback` - 按标签获取未读消息数回调
      Since:

        5.1.1

    - #### getRCConfiguration

           abstract RCConfiguration getRCConfiguration()

      IM 相关配置

      Since:

        5.2.0

    - #### updateRcConfiguration

           abstract void updateRcConfiguration(RCConfiguration configuration)

      更新 RCConfiguration 必须在 init 方法执行之后设置才会生效

      Since:

        5.2.0

    - #### isTextTranslationSupported

           abstract boolean isTextTranslationSupported()

      是否支持翻译功能

      Since:

        5.2.1

    - #### getTranslationInfo

           abstract TranslationInfo getTranslationInfo(int messageId, String language)

      获取翻译的缓存信息

      Since:

        5.2.1

    - #### saveMessageTranslation

           abstract void saveMessageTranslation(int messageId, String content, String targetLanguage)

      保存翻译

      Since:

        5.2.1

    - #### getAIAddress

           abstract String getAIAddress()

      获取翻译地址

      Since:

        5.2.1

    - #### setAppVer

           abstract void setAppVer(String appVer)

      设置集成融云 SDK 的用户应用版本信息。

      注意：需在 init 之后调用。

      Parameters:
        `appVer` - 用户版本信息。
      Since:

        5.0.0

    - #### setPingTimeOut

           abstract void setPingTimeOut(int time)

      Parameters:
        `time` - 超时时间，单位为毫秒
      Since:

        5.2.5

    - #### enableSingleProcess

           abstract void enableSingleProcess(boolean enable)

      设置是否启用单进程。

      注意：需在 init 之前调用。

      Parameters:
        `enable` - 是否启用单进程。
      Since:

        5.3.0

    - #### setProxy

           abstract boolean setProxy(RCIMProxy proxy)

      设置代理

      Since:

        5.3.0

    - #### getCurrentProxy

           abstract RCIMProxy getCurrentProxy()

      获取当前代理

      Since:

        5.3.0

    - #### setCheckDuplicateMessage

           abstract void setCheckDuplicateMessage(boolean enableCheck)

      设置融云消息重排开关

      发送方弱网情况下发送消息，消息到达服务但发送方没有收到服务 ack，导致发送方认为消息发送失败 此种情况下，服务端和接收方都会收到第一条消息 此时发送方重发该消息，再次达到服务，那么此时服务端会有两条消息（消息内容相同，messageUid 不同） 接收方会收到两条内容相同 messageUid 不同的消息，SDK 此时会把第二条相同内容消息排重掉 以此来保证重发的相同内容消息，发送方只有一条消息，接收方也只有一条消息

      当消息量少时，消息排重影响不大；但是本地存在大量消息时，排重会出现性能问题 当 APP 本地存在大量消息，且发生收消息卡顿时，建议将排重关闭

      Parameters:
        `enableCheck` - 是否使用融云消息重排机制，默认值为 true
      Since:

        5.3.4

    - #### getMinioOSSAddr

           abstract String getMinioOSSAddr()

    - #### sendReadReceiptMessageV4

           abstract void sendReadReceiptMessageV4(ConversationType conversationType, String targetId, String startMessageUID, String endMessageUID, IRongCoreCallback.OperationCallback callback)

      发送已读回执v4(支持单群聊)

      Parameters:
        `conversationType` - 会话类型
        `targetId` - 会话 id
        `startMessageUID` - 群聊已读开始的消息UID,单聊为""
        `endMessageUID` - 已读最后一条消息的UID
        `callback` - 回调函数
      Since:

        5.6.7

    - #### getMessageReadReceiptV4

           abstract void getMessageReadReceiptV4(String targetId, String messageUID, IRongCoreCallback.ResultCallbackEx<Integer, Integer, List<GroupMessageReader>> callback)

      获取某个会话中的消息阅读回执V4

      Parameters:
        `targetId` - 会话 id
        `messageUID` - 会话中需要发送已读回执的消息
        `callback` - 回调函数
      Since:

        5.6.7

    - #### subscribeEvent

           abstract void subscribeEvent(SubscribeEventRequest request, IRongCoreCallback.SubscribeEventCallback<List<String>> callback)

      订阅用户状态事件。

      此方法用于订阅一组用户的状态。当这些用户的状态发生变化时，将通过回调接口通知调用者。

      Parameters:
        `request` - 订阅请求对象，包含了需要订阅状态的用户信息。
        `callback` - 结果回调，用于接收订阅操作的结果或状态更新通知。
      Since:

        5.8.0

    - #### unSubscribeEvent

           abstract void unSubscribeEvent(SubscribeEventRequest request, IRongCoreCallback.SubscribeEventCallback<List<String>> callback)

      取消订阅用户状态事件。

      此方法用于取消已经订阅的用户状态事件。

      Parameters:
        `request` - 取消订阅的请求对象，包含了需要取消订阅状态的用户信息。
        `callback` - 结果回调，用于接收取消订阅操作的结果。
      Since:

        5.8.0

    - #### addSubscribeEventListener

           abstract void addSubscribeEventListener(OnSubscribeEventListener listener)

      添加订阅事件监听器。

      用于添加一个监听器来接收所有订阅的用户状态变化事件。

      Parameters:
        `listener` - 订阅事件监听器。
      Since:

        5.8.0

    - #### querySubscribeEvent

           abstract void querySubscribeEvent(SubscribeEventRequest request, IRongCoreCallback.ResultCallback<List<SubscribeInfoEvent>> callback)

      查询当前的订阅事件状态。

      此方法用于获取当前所有订阅的事件的状态信息。

      Parameters:
        `request` - 查询请求对象，可指定查询的具体订阅事件。
        `callback` - 查询操作完成后，订阅事件的列表通过此回调返回。
      Since:

        5.8.0

    - #### querySubscribeEvent

           abstract void querySubscribeEvent(SubscribeEventRequest request, int pageSize, int startIndex, IRongCoreCallback.ResultCallback<List<SubscribeInfoEvent>> callback)

    - #### updateMyUserProfile

          @Deprecated() abstract void updateMyUserProfile(UserProfile profile, IRongCoreCallback.UpdateUserProfileCallback callback)

      更新用户资料

      注意：建议先获取用户资料，在最新的用户资料基础之上更新用户资料

      Parameters:
        `profile` - 用户资料信息
        `callback` - 操作完成后，操作结果通过此回调返回。
      Since:

        5.10.0

    - #### updateMyUserProfile

           abstract void updateMyUserProfile(UserProfile profile, IRongCoreCallback.ExamineOperationCallback callback)

      更新用户资料

      注意：建议先获取用户资料，在最新的用户资料基础之上更新用户资料

      Parameters:
        `profile` - 用户资料信息
        `callback` - 操作完成后，操作结果通过此回调返回。
      Since:

        5.10.0

    - #### getUserProfiles

           abstract void getUserProfiles(List<String> userIdList, IRongCoreCallback.ResultCallback<List<UserProfile>> callback)

      批量获取用户资料

      Parameters:
        `userIdList` - 用户ID 列表，一次最多获取 20 个
        `callback` - 操作完成后，用户资料列表通过此回调返回。
      Since:

        5.10.0

    - #### getMyUserProfile

           abstract void getMyUserProfile(IRongCoreCallback.ResultCallback<UserProfile> callback)

      获取当前用户资料

      Parameters:
        `callback` - 操作完成后，用户资料通过此回调返回。
      Since:

        5.10.0

    - #### updateMyUserProfileVisibility

           abstract void updateMyUserProfileVisibility(UserProfileVisibility visibility, IRongCoreCallback.ResultCallback<Boolean> callback)

      用户权限设置

      Parameters:
        `visibility` - 用户信息权限
        `callback` - 操作完成后，操作结果通过此回调返回。
      Since:

        5.10.0

    - #### getMyUserProfileVisibility

           abstract void getMyUserProfileVisibility(IRongCoreCallback.ResultCallback<UserProfileVisibility> callback)

      用户权限获取

      Parameters:
        `callback` - 操作完成后，操作结果通过此回调返回。
      Since:

        5.10.0

    - #### setDatabaseOperationTimeThreshold

           abstract void setDatabaseOperationTimeThreshold(int milliseconds)

    - #### searchUserProfileByUniqueId

           abstract void searchUserProfileByUniqueId(String uniqueId, IRongCoreCallback.ResultCallback<UserProfile> callback)

      按用户应用号精确搜索用户信息

      Parameters:
        `uniqueId` - 用户应用号
        `callback` - 操作完成后，结果通过此回调返回。
      Since:

        5.10.0

    - #### createGroup

          @Deprecated() abstract void createGroup(GroupInfo groupInfo, List<String> inviteeUserIds, IRongCoreCallback.CreateGroupCallback callback)

      创建群组

      注意： 群信息（GroupInfo）支持设置的属性： 1，群ID（id），最大长度 64 个字符。支持大小写英文字母与数字的组合 2，群名称（name），最长不超过 64 个字符 3，群头像（portraitUri），长度不超过 128 个字符 4，群简介（introduction），最大长度不超过 512 个字符 5，群公告（notice），最大长度不超过 1024 个字符 6，群扩展信息（extProfile），默认最多可设置 10 个，需要通过开发者后台或 API 设置后才能使用，否则设置失败 7，主动加入群权限模式（joinPermission） 8，将群成员移出群组设置模式（removeMemberPermission） 9，邀请他人入群模式（invitePermission） 10，被邀请入群模式（inviteHandlePermission） 11，群信息更新模式（groupInfoEditPermission） 12，群成员信息更新模式（memberInfoEditPermission） 其中：群ID（id）、群名称（name）必填，否则接口调用失败。 具体参照io.rong.imlib.model.GroupInfo

      Parameters:
        `groupInfo` - 群信息。
        `inviteeUserIds` - 加入群组的用户 ID 数组，一次最多允许 30 个用户加入。（非必填）
        `callback` - 操作完成后，结果通过此回调返回。callback的onSuccess参数说明：- 当被邀请加入群组权限 inviteHandlePermission 为被邀请人需要同意才能进群时，IRongCoreEnum.

    - #### createGroup

           abstract void createGroup(GroupInfo groupInfo, List<String> inviteeUserIds, IRongCoreCallback.ExamineCreateGroupCallback callback)

      创建群组

      注意： 群信息（GroupInfo）支持设置的属性： 1，群ID（id），最大长度 64 个字符。支持大小写英文字母与数字的组合 2，群名称（name），最长不超过 64 个字符 3，群头像（portraitUri），长度不超过 128 个字符 4，群简介（introduction），最大长度不超过 512 个字符 5，群公告（notice），最大长度不超过 1024 个字符 6，群扩展信息（extProfile），默认最多可设置 10 个，需要通过开发者后台或 API 设置后才能使用，否则设置失败 7，主动加入群权限模式（joinPermission） 8，将群成员移出群组设置模式（removeMemberPermission） 9，邀请他人入群模式（invitePermission） 10，被邀请入群模式（inviteHandlePermission） 11，群信息更新模式（groupInfoEditPermission） 12，群成员信息更新模式（memberInfoEditPermission） 其中：群ID（id）、群名称（name）必填，否则接口调用失败。 具体参照io.rong.imlib.model.GroupInfo

      Parameters:
        `groupInfo` - 群信息。
        `inviteeUserIds` - 加入群组的用户 ID 数组，一次最多允许 30 个用户加入。（非必填）
        `callback` - 操作完成后，结果通过此回调返回。callback的onSuccess参数说明：- 当被邀请加入群组权限 inviteHandlePermission 为被邀请人需要同意才能进群时，IRongCoreEnum.

    - #### updateGroupInfo

          @Deprecated() abstract void updateGroupInfo(GroupInfo groupInfo, IRongCoreCallback.OperationCallbackEx<String> callback)

      更新群组资料

      群信息更新模式 groupInfoEditPermission ，决定是否可以修改群组资料及权限信息

      注意： 群信息（GroupInfo）支持设置的属性： 1，群ID（id），最大长度 64 个字符。支持大小写英文字母与数字的组合 2，群名称（name），最长不超过 64 个字符 3，群头像（portraitUri），长度不超过 128 个字符 4，群简介（introduction），最大长度不超过 512 个字符 5，群公告（notice），最大长度不超过 1024 个字符 6，群扩展信息（extProfile），默认最多可设置 10 个，需要通过开发者后台或 API 设置后才能使用，否则设置失败 7，主动加入群权限模式（joinPermission） 8，将群成员移出群组设置模式（removeMemberPermission） 9，邀请他人入群模式（invitePermission） 10，被邀请入群模式（inviteHandlePermission） 11，群信息更新模式（groupInfoEditPermission） 12，群成员信息更新模式（memberInfoEditPermission） 其中：群ID（id）、群名称（name）必填，否则接口调用失败。 具体参照io.rong.imlib.model.GroupInfo

      Parameters:
        `groupInfo` - 群信息。
        `callback` - 操作完成后，结果通过此回调返回。callback的onError参数说明：- 如果errorData不为空，代表GroupInfo具体出错的key

    - #### updateGroupInfo

           abstract void updateGroupInfo(GroupInfo groupInfo, IRongCoreCallback.ExamineOperationCallback callback)

      更新群组资料

      群信息更新模式 groupInfoEditPermission ，决定是否可以修改群组资料及权限信息

      注意： 群信息（GroupInfo）支持设置的属性： 1，群ID（id），最大长度 64 个字符。支持大小写英文字母与数字的组合 2，群名称（name），最长不超过 64 个字符 3，群头像（portraitUri），长度不超过 128 个字符 4，群简介（introduction），最大长度不超过 512 个字符 5，群公告（notice），最大长度不超过 1024 个字符 6，群扩展信息（extProfile），默认最多可设置 10 个，需要通过开发者后台或 API 设置后才能使用，否则设置失败 7，主动加入群权限模式（joinPermission） 8，将群成员移出群组设置模式（removeMemberPermission） 9，邀请他人入群模式（invitePermission） 10，被邀请入群模式（inviteHandlePermission） 11，群信息更新模式（groupInfoEditPermission） 12，群成员信息更新模式（memberInfoEditPermission） 其中：群ID（id）、群名称（name）必填，否则接口调用失败。 具体参照io.rong.imlib.model.GroupInfo

      Parameters:
        `groupInfo` - 群信息。
        `callback` - 操作完成后，结果通过此回调返回。callback的onError参数说明：- 如果errorData不为空，代表GroupInfo具体出错的key

    - #### getGroupsInfo

           abstract void getGroupsInfo(List<String> groupIds, IRongCoreCallback.ResultCallback<List<GroupInfo>> callback)

      批量获取群组资料

      注意：只返回已存在的群组信息

      Parameters:
        `groupIds` - 群 ID 数组。支持批量查询，单次查询最多支持 20 个群组。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### kickGroupMembers

           abstract void kickGroupMembers(String groupId, List<String> userIds, QuitGroupConfig config, IRongCoreCallback.OperationCallback callback)

      踢出群组

      注意：用户退出后，群会话信息仍然保留，但不再能接收此群的消息，本地历史消息不删除

      Parameters:
        `groupId` - 群组Id。
        `userIds` - 群成员Id数组。支持批量操作，单次上限为 100 个。
        `config` - 踢出群组配置。允许传空，传空代表使用默认配置。参照io.rong.imlib.model.
        `callback` - 操作完成后，结果通过此回调返回。

    - #### quitGroup

           abstract void quitGroup(String groupId, QuitGroupConfig config, IRongCoreCallback.OperationCallback callback)

      退出群组

      注意：用户退出后，群会话信息仍然保留，但不再能接收此群的消息，本地历史消息不删除

      Parameters:
        `groupId` - 群组Id。
        `config` - 踢出群组配置。允许传空，传空代表使用默认配置。参照io.rong.imlib.model.
        `callback` - 操作完成后，结果通过此回调返回。

    - #### dismissGroup

           abstract void dismissGroup(String groupId, IRongCoreCallback.OperationCallback callback)

      解散群组

      注意：只有群主，可以解散自已创建的群组，解散后群会话信息仍然保留，本地历史消息不做删除处理

      Parameters:
        `groupId` - 群组Id。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### transferGroupOwner

           abstract void transferGroupOwner(String groupId, String newOwnerId, boolean quitGroup, QuitGroupConfig config, IRongCoreCallback.OperationCallback callback)

      转让群组

      Parameters:
        `groupId` - 群组Id。
        `newOwnerId` - 转让后的群主用户ID
        `quitGroup` - 转让后是否退出群组
        `config` - 踢出群组配置。允许传空，传空代表使用默认配置。注意：只有在转让后退出群组状态下此功能才生效。 该配置参数仅在quitGroup为true时生效，参照io.rong.imlib.model.
        `callback` - 操作完成后，结果通过此回调返回。

    - #### addGroupManagers

           abstract void addGroupManagers(String groupId, List<String> userIds, IRongCoreCallback.OperationCallback callback)

      添加群组管理员

      注意：只有群主可以添加群管理员，一个群最多可以添加 10 个管理员；群主不可以被设置为管理员

      Parameters:
        `groupId` - 群组Id。
        `userIds` - 管理员用户ID列表。注意：用户 ID 必须为群成员，一次最多添加 10 个管理员。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### removeGroupManagers

           abstract void removeGroupManagers(String groupId, List<String> userIds, IRongCoreCallback.OperationCallback callback)

      移除群组管理员

      Parameters:
        `groupId` - 群组Id。
        `userIds` - 管理员用户ID列表。注意：用户 ID 必须为群成员，一次最多操作 10 个管理员。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### getGroupMembersByRole

           abstract void getGroupMembersByRole(String groupId, GroupMemberRole role, PagingQueryOption option, IRongCoreCallback.PageResultCallback<GroupMemberInfo> callback)

      分页获取指定群组的群成员列表

      注意：优先返回群主、其次为群管理员、 最后为群成员。

      Parameters:
        `groupId` - 群组Id。
        `role` - 查询群成员角色。参照io.rong.imlib.model.
        `option` - 分页请求参数。参照io.rong.imlib.model.
        `callback` - 操作完成后，结果通过此回调返回。注意：此接口返回分页数据的总条数。

    - #### getGroupMembers

           abstract void getGroupMembers(String groupId, List<String> userIds, IRongCoreCallback.ResultCallback<List<GroupMemberInfo>> callback)

      获取指定群成员信息

      Parameters:
        `groupId` - 群组Id。
        `userIds` - 群成员Id列表。最多不超过 100 个
        `callback` - 操作完成后，结果通过此回调返回。

    - #### setGroupMemberInfo

          @Deprecated() abstract void setGroupMemberInfo(String groupId, String userId, String nickname, String extra, IRongCoreCallback.OperationCallback callback)

      设置群成员资料

      群成员信息更新模式 memberInfoEditPermission ，决定是否可以修改群成员资料

      Parameters:
        `groupId` - 群组Id。
        `userId` - 群成员用户Id。
        `nickname` - 群成员昵称。长度不超过 64 个字符，不支持纯空格。
        `extra` - 群成员附加信息。长度不超过 128 个字符。注意：传null代表不设置此字段。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### setGroupMemberInfo

           abstract void setGroupMemberInfo(String groupId, String userId, String nickname, String extra, IRongCoreCallback.ExamineOperationCallback callback)

      设置群成员资料

      群成员信息更新模式 memberInfoEditPermission ，决定是否可以修改群成员资料

      Parameters:
        `groupId` - 群组Id。
        `userId` - 群成员用户Id。
        `nickname` - 群成员昵称。长度不超过 64 个字符，不支持纯空格。
        `extra` - 群成员附加信息。长度不超过 128 个字符。注意：传null代表不设置此字段。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### searchGroupMembers

           abstract void searchGroupMembers(String groupId, String name, PagingQueryOption option, IRongCoreCallback.PageResultCallback<GroupMemberInfo> callback)

      根据群成员昵称查询群成员信息

      Parameters:
        `groupId` - 群组Id。
        `name` - 群成员昵称搜索关键字。注意：不能为空最长不超过 64 个字符，不支持纯空格；支持模糊搜索查询；昵称为空时，默认搜索用户名。
        `option` - 分页请求参数。参照，包含页面标识（非必填，不填返回第一页数据）、每页条数（最大不超过 200 条）、是否正序查询（默认倒序）
        `callback` - 操作完成后，结果通过此回调返回。注意：此接口返回分页数据的总条数。

    - #### joinGroup

           abstract void joinGroup(String groupId, IRongCoreCallback.ResultCallback<IRongCoreEnum.CoreErrorCode> callback)

      加入群组

      加入群组权限io.rong.imlib.model.GroupJoinPermission，决定是否可以加入群组

      Parameters:
        `groupId` - 群组Id。
        `callback` - 操作完成后，结果通过此回调返回。callback的onSuccess参数说明：- 当该群主动加入权限 joinPermission 为需群主或管理员审批时，IRongCoreEnum.

    - #### inviteUsersToGroup

           abstract void inviteUsersToGroup(String groupId, List<String> userIds, IRongCoreCallback.ResultCallback<IRongCoreEnum.CoreErrorCode> callback)

      邀请用户加入群组

      谁可以邀请他人入群方式io.rong.imlib.model.GroupOperationPermission，决定是否可以邀请他人

      邀请加入群组处理方式io.rong.imlib.model.GroupInviteHandlePermission，决定是否可以加入群组

      Parameters:
        `groupId` - 群组Id。
        `userIds` - 群成员Id列表。最多不超过 30 个
        `callback` - 操作完成后，结果通过此回调返回。 callback的onSuccess参数说明：- 当该群主动加入权限 joinPermission 为需群主或管理员审批时，IRongCoreEnum.

    - #### acceptGroupInvite

           abstract void acceptGroupInvite(String groupId, String inviterId, IRongCoreCallback.OperationCallback callback)

      用户同意加入群组

      Parameters:
        `groupId` - 群组Id。
        `inviterId` - 发出邀请的用户 ID
        `callback` - 操作完成后，结果通过此回调返回。

    - #### refuseGroupInvite

           abstract void refuseGroupInvite(String groupId, String inviterId, String reason, IRongCoreCallback.OperationCallback callback)

      用户拒绝加入群组

      Parameters:
        `groupId` - 群组Id。
        `inviterId` - 发出邀请的用户 ID
        `reason` - 拒绝原因：非必填项，拒绝时可选择是否输入拒绝原因，内容不超过 128 个字符
        `callback` - 操作完成后，结果通过此回调返回。

    - #### acceptGroupApplication

           abstract void acceptGroupApplication(String groupId, String inviterId, String applicantId, IRongCoreCallback.ResultCallback<IRongCoreEnum.CoreErrorCode> callback)

      群主或管理员同意用户加入群组

      Parameters:
        `groupId` - 群组Id。
        `inviterId` - 邀请人 ID。非必填，如果是邀请入群，则传邀请人ID；如果是主动加群，可以为空。
        `applicantId` - 申请入群用户 ID
        `callback` - 操作完成后，结果通过此回调返回。 callback的onSuccess参数说明：- 当该群被邀请加入群组权限 inviteHandlePermission 为需要被邀请人同意时，IRongCoreEnum.

    - #### refuseGroupApplication

           abstract void refuseGroupApplication(String groupId, String inviterId, String applicantId, String reason, IRongCoreCallback.OperationCallback callback)

      群主或管理员拒绝用户加入群组

      Parameters:
        `groupId` - 群组Id。
        `inviterId` - 邀请人 ID。非必填，如果是邀请入群，则传邀请人ID；如果是主动加群，可以为空。
        `applicantId` - 申请入群用户 ID
        `reason` - 拒绝原因：非必填项，拒绝时可选择是否输入拒绝原因，内容不超过 128 个字符
        `callback` - 操作完成后，结果通过此回调返回。

    - #### getGroupApplications

           abstract void getGroupApplications(PagingQueryOption option, Array<GroupApplicationDirection> directions, Array<GroupApplicationStatus> status, IRongCoreCallback.PageResultCallback<GroupApplicationInfo> callback)

      分页获取群组请求列表

      Parameters:
        `option` - 分页请求参数。参照io.rong.imlib.model.
        `directions` - 请求的方向数组。
        `status` - 群组请求状态数组。
        `callback` - 操作完成后，结果通过此回调返回。按操作时间倒序排序。注意：此接口不返回分页数据的总条数。

    - #### getJoinedGroupsByRole

           abstract void getJoinedGroupsByRole(GroupMemberRole role, PagingQueryOption option, IRongCoreCallback.PageResultCallback<GroupInfo> callback)

      分页查询用户所在群组列表

      Parameters:
        `role` - 群组身份 。
        `option` - 分页请求参数。参照，包含页面标识（非必填，不填返回第一页数据）、每页条数（最大不超过 100 条）、是否正序查询（默认倒序）
        `callback` - 操作完成后，结果通过此回调返回。注意：此接口返回分页数据的总条数。

    - #### searchJoinedGroups

           abstract void searchJoinedGroups(String groupName, PagingQueryOption option, IRongCoreCallback.PageResultCallback<GroupInfo> callback)

      按群名称搜索我加入的群组

      Parameters:
        `groupName` - 群名称搜索关键字。不能为空最长不超过 64 个字符，不支持纯空格，支持模糊搜索查询时需要去掉前后空格。
        `option` - 分页请求参数。参照，包含页面标识（非必填，不填返回第一页数据）、每页条数（最大不超过 200 条）、是否正序查询（默认倒序）
        `callback` - 操作完成后，结果通过此回调返回。注意：此接口返回分页数据的总条数。

    - #### getJoinedGroups

           abstract void getJoinedGroups(List<String> groupIds, IRongCoreCallback.ResultCallback<List<GroupInfo>> callback)

      批量获取我加入的群组

      Parameters:
        `groupIds` - 群Id列表。最多不超过 20 个
        `callback` - 操作完成后，结果通过此回调返回。

    - #### setGroupRemark

           abstract void setGroupRemark(String groupId, String remark, IRongCoreCallback.OperationCallback callback)

      设置群组备注名

      Parameters:
        `groupId` - 群Id。只支持普通群。
        `remark` - 备注名。remark非空代表设置，否则代表移除，不支持纯空格。字符串长度不超过 64 个字符，如群备注名已存在则做替换处理，以最后一次设置为准。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### addGroupFollows

           abstract void addGroupFollows(String groupId, List<String> userIds, IRongCoreCallback.OperationCallback callback)

      设置群组特别关注用户

      Parameters:
        `groupId` - 群Id。只支持普通群。
        `userIds` - 特别关注用户 ID 数组。单次最多关注 100 个用户，一个群组最多关注 1000 个群成员。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### removeGroupFollows

           abstract void removeGroupFollows(String groupId, List<String> userIds, IRongCoreCallback.OperationCallback callback)

      移除群组特别关注用户

      Parameters:
        `groupId` - 群Id。只支持普通群。
        `userIds` - 特别关注用户 ID 数组。单次最多取消关注 100 个用户。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### getGroupFollows

           abstract void getGroupFollows(String groupId, IRongCoreCallback.ResultCallback<List<FollowInfo>> callback)

      查询群组特别关注用户列表

      Parameters:
        `groupId` - 群Id。只支持普通群。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### setGroupEventListener

           abstract void setGroupEventListener(GroupEventListener listener)

    - #### addFriend

           abstract void addFriend(String userId, DirectionType directionType, String extra, IRongCoreCallback.ResultCallback<IRongCoreEnum.CoreErrorCode> callback)

      添加好友

      Parameters:
        `userId` - 准备添加为好友的用户ID
        `directionType` - 添加的好友方向类型：双向好友。参照io.rong.imlib.model.
        `extra` - 附加信息。非必填项，发送好友请求时的附加信息，长度不超过 128 个字符。
        `callback` - 操作完成后，结果通过此回调返回。 callback的onSuccess参数说明：- 当对方添加好友权限为需要同意才能添加好友时，IRongCoreEnum.

    - #### deleteFriends

           abstract void deleteFriends(List<String> userIds, DirectionType directionType, IRongCoreCallback.OperationCallback callback)

      解除好友

      注意：双向好友删除：同时在两方的好友列表中删除好友

      Parameters:
        `userIds` - 需要解除好友关系的用户 ID列表，一次最多解除 100 个用户
        `directionType` - 删除的好友方向类型：双向好友。参照io.rong.imlib.model.
        `callback` - 操作完成后，结果通过此回调返回。

    - #### acceptFriendApplication

           abstract void acceptFriendApplication(String userId, IRongCoreCallback.OperationCallback callback)

      同意加为好友

      Parameters:
        `userId` - 同意成为好友的用户ID
        `callback` - 操作完成后，结果通过此回调返回。

    - #### refuseFriendApplication

           abstract void refuseFriendApplication(String userId, IRongCoreCallback.OperationCallback callback)

      拒绝加为好友

      Parameters:
        `userId` - 拒绝成为好友的用户ID
        `callback` - 操作完成后，结果通过此回调返回。

    - #### setFriendInfo

          @Deprecated() abstract void setFriendInfo(String userId, String remark, Map<String, String> extProfile, IRongCoreCallback.OperationCallback callback)

      设置好友信息

      Parameters:
        `userId` - 好友的用户ID
        `remark` - 好友备注名。最多为 64 个字符，不支持纯空格，不传或为空时清除备注名。
        `extProfile` - 扩展信息。默认最多可设置 10 个扩展信息。（需要通过开发者后台或 API 设置后才能使用，否则返回设置失败）
        `callback` - 操作完成后，结果通过此回调返回。

    - #### setFriendInfo

           abstract void setFriendInfo(String userId, String remark, Map<String, String> extProfile, IRongCoreCallback.ExamineOperationCallback callback)

      设置好友信息

      Parameters:
        `userId` - 好友的用户ID
        `remark` - 好友备注名。最多为 64 个字符，不支持纯空格，不传或为空时清除备注名。
        `extProfile` - 扩展信息。默认最多可设置 10 个扩展信息。（需要通过开发者后台或 API 设置后才能使用，否则返回设置失败）
        `callback` - 操作完成后，结果通过此回调返回。

    - #### checkFriends

           abstract void checkFriends(List<String> userIds, DirectionType directionType, IRongCoreCallback.ResultCallback<List<FriendRelationInfo>> callback)

      检查好友关系

      好友关系类型说明，参照io.rong.imlib.model.FriendRelationType

      Parameters:
        `userIds` - 需要检查好友关系的用户 ID列表，一次最多检查 20 个用户
        `directionType` - 检查的好友方向类型：双向好友。参照io.rong.imlib.model.
        `callback` - 操作完成后，结果通过此回调返回。

    - #### getFriends

           abstract void getFriends(QueryFriendsDirectionType type, IRongCoreCallback.ResultCallback<List<FriendInfo>> callback)

      获取全部好友列表

      Parameters:
        `type` - 好友方向类型：双向好友。参照io.rong.imlib.model.
        `callback` - 操作完成后，结果通过此回调返回。

    - #### getFriendApplications

           abstract void getFriendApplications(PagingQueryOption option, Array<FriendApplicationType> types, Array<FriendApplicationStatus> status, IRongCoreCallback.PageResultCallback<FriendApplicationInfo> callback)

      分页获取好友请求列表

      Parameters:
        `option` - 分页请求参数。参照，包含页面标识（非必填，不填返回第一页数据）、每页条数（最大不超过 100 条）、是否正序查询（默认倒序）
        `types` - 请求类型。可选择多个。参照io.rong.imlib.model.
        `status` - 请求状态。可选择多个，支持申请添加好友、已同意、已拒绝、已过期。参照
        `callback` - 操作完成后，结果通过此回调返回。注意：此接口不返回分页数据的总条数。

    - #### getFriendsInfo

           abstract void getFriendsInfo(List<String> userIds, IRongCoreCallback.ResultCallback<List<FriendInfo>> callback)

      根据用户ID搜索好友信息

      Parameters:
        `userIds` - 用户 ID列表，一次最多获取 100 个好友信息
        `callback` - 操作完成后，结果通过此回调返回。

    - #### searchFriendsInfo

           abstract void searchFriendsInfo(String name, IRongCoreCallback.ResultCallback<List<FriendInfo>> callback)

      根据好友昵称搜索好友信息

      Parameters:
        `name` - 用户昵称关键字，不能为空最长不超过 64 个字符，不支持纯空格。
        `callback` - 操作完成后，结果通过此回调返回。

    - #### setFriendAddPermission

           abstract void setFriendAddPermission(FriendAddPermission permission, IRongCoreCallback.OperationCallback callback)

      设置当前用户的加好友权限

      Parameters:
        `permission` - 加好友权限。参照io.rong.imlib.model.
        `callback` - 操作完成后，结果通过此回调返回。

    - #### getFriendAddPermission

           abstract void getFriendAddPermission(IRongCoreCallback.ResultCallback<FriendAddPermission> callback)

      获取当前用户的加好友权限

      Parameters:
        `callback` - 操作完成后，结果通过此回调返回。

    - #### setFriendEventListener

           abstract void setFriendEventListener(FriendEventListener listener)

    - #### removeDatabase

           abstract IRongCoreEnum.CoreErrorCode removeDatabase(String userId)

      * 删除指定用户的消息数据库

      Parameters:
        `userId` - 用户 id
      Returns:

        IRongCoreEnum.CoreErrorCode 删除的结果

    - #### requestStreamMessageContent

           abstract void requestStreamMessageContent(StreamMessageRequestParams params, IRongCoreCallback.OperationCallback callback)

      请求流式消息。

      Parameters:
        `params` - 请求参数对象。
        `callback` - 操作完成后，结果通过此回调返回。
      Since:

        5.16.0

    - #### addStreamMessageRequestEventListener

           abstract boolean addStreamMessageRequestEventListener(IRongCoreListener.StreamMessageRequestEventListener listener)

      添加流式消息请求事件监听。

      Parameters:
        `listener` - 流式消息请求事件监听。
      Since:

        5.16.0

    - #### removeStreamMessageRequestEventListener

           abstract void removeStreamMessageRequestEventListener(IRongCoreListener.StreamMessageRequestEventListener listener)

      移除流式消息请求事件监听。

      Parameters:
        `listener` - 流式消息请求事件监听。
      Since:

        5.16.0

    - #### sendReadReceiptResponseV5

           abstract void sendReadReceiptResponseV5(ConversationIdentifier identifier, List<String> messageUIds, IRongCoreCallback.OperationCallback callback)

      发送某个会话中的消息已读回执（V5）。

      发送消时 setNeedReceipt 设置为 true ，接收方调用此接口发送已读。 发送方将通过 onMessageReceiptResponse 收到回执通知。

      注意：仅支持单聊和群聊会话类型。

      Parameters:
        `identifier` - 会话标识，仅支持单群聊。
        `messageUIds` - 消息 UID 列表，最多 100 条。
        `callback` - 回调结果。
      Since:

        5.20.0

    - #### getMessageReadReceiptInfoV5

           abstract void getMessageReadReceiptInfoV5(ConversationIdentifier identifier, List<String> messageUIds, IRongCoreCallback.ResultCallback<List<ReadReceiptInfoV5>> callback)

      批量获取消息已读信息（V5）。

      注意：全量查询，不进行分页。

      Parameters:
        `identifier` - 会话标识。
        `messageUIds` - 消息 UID 列表，最多 100 条。
        `callback` - 结果回调。
      Since:

        5.20.0

    - #### getMessagesReadReceiptUsersByPageV5

           abstract void getMessagesReadReceiptUsersByPageV5(ConversationIdentifier identifier, String messageUId, ReadReceiptUsersOption option, IRongCoreCallback.ResultCallback<ReadReceiptUsersResult> callback)

      分页获取消息已读未读信息（V5）。

      注意：仅支持单聊和群聊会话类型。

      Parameters:
        `identifier` - 会话标识。
        `messageUId` - 消息 UID。
        `option` - 查询条件。
        `callback` - 结果回调。
      Since:

        5.20.0

    - #### getMessagesReadReceiptByUsersV5

           abstract void getMessagesReadReceiptByUsersV5(ConversationIdentifier identifier, String messageUId, List<String> userIds, IRongCoreCallback.ResultCallback<ReadReceiptUsersResult> callback)

      批量获取用户指定群组消息是否已读状态（V5）。

      注意：仅支持单聊和群聊会话类型。

      Parameters:
        `identifier` - 会话标识。
        `messageUId` - 查询消息的 UId。
        `userIds` - 要查询的用户 ID 列表，最多 100 个用户。
        `callback` - 查询结果。
      Since:

        5.20.0

    - #### addMessageReadReceiptV5Listener

           abstract boolean addMessageReadReceiptV5Listener(IRongCoreListener.MessageReadReceiptV5Listener listener)

      添加已读回执 v5 监听。

      Parameters:
        `listener` - 监听回调。
      Returns:

        是否添加成功，true：成功，false：失败(已存在)。

      Since:

        5.20.0

    - #### removeMessageReadReceiptV5Listener

           abstract void removeMessageReadReceiptV5Listener(IRongCoreListener.MessageReadReceiptV5Listener listener)

      移除已读回执 v5 监听。

      Parameters:
        `listener` - 监听回调。
      Since:

        5.20.0

    - #### addUserSettingsListener

           abstract void addUserSettingsListener(IRongCoreListener.UserSettingsListener listener)

      添加用户配置事件监听。

      Parameters:
        `listener` - 用户设置监听器 IRongCoreListener.UserSettingsListener。
      Since:

        5.7.8

    - #### removeUserSettingsListener

           abstract void removeUserSettingsListener(IRongCoreListener.UserSettingsListener listener)

      移除用户配置事件监听。

      Parameters:
        `listener` - 用户设置监听器 IRongCoreListener.UserSettingsListener。
      Since:

        5.7.8