Package io.rong.imlib

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 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) 移除连接状态变化的监听器。
      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) 获取多媒体下载私有云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 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 条消息。注意:不支持聊天室、超级群!
      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 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 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 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,同时把本地能取到的消息回调上去。 必须开通历史消息云存储功能。
      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,否者会回调 PARAMETER_ERROR
      abstract void insertIncomingMessage(ConversationType type, String targetId, String senderUserId, ReceivedStatus receivedStatus, MessageContent content, long sentTime, IRongCoreCallback.ResultCallback<Message> resultCallback) 向本地会话中插入一条消息,方向为接收。 这条消息只是插入本地会话,不会实际发送给服务器和对方。插入消息需为入库消息,即 ISPERSISTED,否者会回调 PARAMETER_ERROR
      abstract void insertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, IRongCoreCallback.ResultCallback<Message> resultCallback) 向本地会话中插入一条消息。 这条消息只是插入本地会话,不会实际发送给服务器和对方。 插入消息需为入库消息,即ISPERSISTED,否者会回调 PARAMETER_ERROR
      abstract void insertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, long sentTime, IRongCoreCallback.ResultCallback<Message> resultCallback) 向本地会话中插入一条消息,方向为发送。 这条消息只是插入本地会话,不会实际发送给服务器和对方。 插入消息需为入库消息,即 ISPERSISTED,否者会回调 PARAMETER_ERROR
      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 removeConversation(ConversationType conversationType, String targetId, IRongCoreCallback.ResultCallback<Boolean> 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 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 的消息。
      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。
      abstract void sendDirectionalMessage(Message message, Array<String> userIds, String pushContent, String pushData, IRongCoreCallback.ISendMessageCallback callback) 发送定向消息。 此方法用于在群组和讨论组中发送消息给其中的部分用户,其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息,多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib,可以使用此方法发送定向消息;如果您使用 IMKit,请使用 RongIM 中的同名方法发送定向消息,否则不会自动更新 UI。
      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。
      abstract void sendDirectionalMessage(Message message, Array<String> userIds, String pushContent, String pushData, SendMessageOption option, IRongCoreCallback.ISendMessageCallback callback) 发送定向消息。 此方法用于在群组和讨论组中发送消息给其中的部分用户,其它用户不会收到这条消息。 通过 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息,多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib,可以使用此方法发送定向消息;如果您使用 IMKit,请使用 RongIM 中的同名方法发送定向消息,否则不会自动更新 UI。
      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 setConversationTagListener(IRongCoreListener.ConversationTagListener listener) 设置 Tag 多端同步监听
      abstract void setConversationToTopInTag(String tagId, ConversationIdentifier conversationIdentifier, boolean isTop, IRongCoreCallback.OperationCallback callback) 设置标签中会话置顶状态
      abstract void setConversationToTop(ConversationType conversationType, String id, boolean isTop, boolean needCreate, IRongCoreCallback.ResultCallback<Boolean> callback) 设置会话的置顶状态。 若会话不存在,调用此方法 SDK 自动创建会话并置顶。
      abstract void setConversationToTop(ConversationType conversationType, String id, 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) 批量插入接收的消息(该消息只插入本地数据库,实际不会发送给服务器和对方)(不支持超级群) Message 下列属性会被入库,其余属性会被抛弃 conversationType 会话类型 targetId 会话 ID messageDirection 消息方向 senderUserId 发送者 ID receivedStatus 接收状态;消息方向为接收方且未调用 message.getReceivedStatus().
      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 热切换。 注意: 调用此方法后, 还需要再次调用 initconnect,传入新 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 IRongCoreEnum.CoreErrorCode removeDatabase(String userId) * 删除指定用户的消息数据库
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RongCoreClient

        RongCoreClient()
    • Method Detail

      • 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

      • getVersion

         static String getVersion()
        Since:

        5.2.1

      • getCommitId

         static String getCommitId()

        获取sdk 提交指针

        Since:

        5.4.0

      • addOnReceiveMessageListener

         static boolean addOnReceiveMessageListener(OnReceiveMessageWrapperListener listener)

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

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

        添加是否成功

        Since:

        5.1.5

      • 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

      • setTypingStatusListener

         static void setTypingStatusListener(IRongCoreListener.TypingStatusListener listener)

        设置输入状态监听器。

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

        Parameters:
        listener - 输入状态监听器
        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

      • 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 条返回 PARAMETER_ERROR;消息的未读会累加到回话的未读数上。

        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 条返回 PARAMETER_ERROR;消息的未读会累加到回话的未读数上。

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

        5.3.5

      • cancelSDKHeartBeat

         abstract void cancelSDKHeartBeat()

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

        Since:

        5.2.2

      • 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 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

      • 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(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 条消息。注意:不支持聊天室、超级群!

        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

      • 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

      • 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

      • 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

      • 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

      • 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

      • getCurrentUserId

         abstract String getCurrentUserId()

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

        Returns:

        当前连接用户的信息。

        Since:

        5.1.4

      • getDeltaTime

         abstract long getDeltaTime()

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

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

        Returns:

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

        Since:

        5.0.0

      • 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,同时把本地能取到的消息回调上去。 必须开通历史消息云存储功能。

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

        5.1.2

      • getPushContentShowStatus

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

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

        Parameters:
        callback - 获取是否显示远程推送内容详情回调,true 显示远程推送内容详情, false 不显示远程推送内容详情。
        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

      • 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

      • 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,否者会回调 PARAMETER_ERROR

        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,否者会回调 PARAMETER_ERROR

        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,否者会回调 PARAMETER_ERROR

        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,否者会回调 PARAMETER_ERROR

        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

      • 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

      • removeConversation

         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

      • removeConversationsFromTag

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

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

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

        5.1.1

      • removeMessageExpansion

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

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

        Parameters:
        keyArray - 消息扩展信息中待删除的 key 的列表,类型是 ArrayList
        messageUId - 消息 messageUId
        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

      • 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 的消息。

        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。

        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。

        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。

        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。

        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

      • 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

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

        设置会话的置顶状态。

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

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

        5.0.0

      • setConversationToTop

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

        设置会话的置顶状态。

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

        Parameters:
        conversationType - 会话类型 io.rong.imlib.model.Conversation.
        id - 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。
        isTop - 是否置顶。
        callback - 设置置顶是否成功的回调。
        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)

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

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

        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

      • setPushContentShowStatus

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

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

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

        Parameters:
        showStatus - 是否显示 远程推送内容, @code true} 显示 , false 不显示。
        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, E, W, I, D, V。
        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

      • switchAppKey

         abstract void switchAppKey(String appKey)

        切换 appKey。

        当一个应用对应多个环境, 即多个 appKey 时, 调用此方法实现融云 SDK 热切换。 注意: 调用此方法后, 还需要再次调用 initconnect,传入新 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

      • 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

      • 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