public class RongIMClient
extends java.lang.Object
限定符和类型 | 方法和说明 |
---|---|
void |
addMemberToDiscussion(java.lang.String discussionId,
java.util.List<java.lang.String> userIdList,
RongIMClient.OperationCallback callback)
根据 discussionId 添加一名或者一组用户加入讨论组。
|
void |
addRealTimeLocationListener(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.RealTimeLocationListener listener)
添加位置共享监听。
|
void |
addToBlacklist(java.lang.String userId,
RongIMClient.OperationCallback callback)
将某个用户加到黑名单中。
|
void |
appOnStart()
通知 SDK 应用回到了前台。
|
void |
cancelDownloadMediaMessage(Message message,
RongIMClient.OperationCallback callback)
取消多媒体消息下载。
|
void |
cancelMessageDestructionTask(int msgId) |
void |
cancelSendMediaMessage(Message message,
RongIMClient.OperationCallback callback)
取消发送多媒体文件。
|
void |
cleanHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
long recordTime,
boolean cleanRemote,
RongIMClient.OperationCallback callback)
删除指定时间戳之前的消息,可选择是否同时删除服务器端消息
此方法从服务器端清除历史消息,但是必须先开通历史消息云存储功能。
|
void |
cleanRemoteHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
long recordTime,
RongIMClient.OperationCallback callback)
此方法从服务器端清除历史消息,但是必须先开通历史消息云存储功能。
|
boolean |
clearConversations(Conversation.ConversationType... conversationTypes)
|
void |
clearConversations(RongIMClient.ResultCallback callback,
Conversation.ConversationType... conversationTypes)
清空会话类型列表中的所有会话及会话信息,回调方式通知是否清空成功。
|
boolean |
clearEncryptedConversations()
清除本地所有加密会话
|
boolean |
clearMessages(Conversation.ConversationType conversationType,
java.lang.String targetId)
已过时。
已废弃,建议使用 { #clearMessages(Conversation.ConversationType, String, ResultCallback)} 异步方法。
|
void |
clearMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
清空指定类型,targetId 的某一会话所有聊天消息记录。
|
boolean |
clearMessagesUnreadStatus(Conversation.ConversationType conversationType,
java.lang.String targetId)
已过时。
|
void |
clearMessagesUnreadStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
long timestamp,
RongIMClient.OperationCallback callback)
根据时间戳清除指定类型,目标Id 的某一会话消息未读状态。
|
void |
clearMessagesUnreadStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
清除指定类型,targetId 的某一会话消息未读状态。
|
boolean |
clearTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId)
已过时。
|
void |
clearTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
根据消息类型,targetId 清除某一会话的文字消息草稿。
|
static RongIMClient |
connect(java.lang.String token,
RongIMClient.ConnectCallback callback)
连接服务器,在整个应用程序全局,只需要调用一次,需在 {#init(Context)} 之后调用。
|
void |
createDiscussion(java.lang.String name,
java.util.List<java.lang.String> userIdList,
RongIMClient.CreateDiscussionCallback callback)
创建讨论组。
|
void |
createMessageDestructionTask(Message message,
DestructionTaskManager.OnOverTimeChangeListener listener,
java.lang.String tag) |
void |
deleteMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
清除指定会话的消息。
|
boolean |
deleteMessages(int[] messageIds)
已过时。
已废弃,建议使用 { #deleteMessages(int[], ResultCallback)} 异步方法。
|
void |
deleteMessages(int[] messageIds,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
根据 messageId,删除指定的一条或者一组消息。
|
void |
deleteRemoteMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
Message[] messages,
RongIMClient.OperationCallback callback)
删除指定的一条或者一组消息。
|
void |
disconnect()
断开与融云服务器的连接。
|
void |
disconnect(boolean isReceivePush)
已过时。
该方法已废弃,请使用
disconnect() 或者 logout() |
void |
downloadMedia(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.MediaType mediaType,
java.lang.String imageUrl,
RongIMClient.DownloadMediaCallback callback)
下载多媒体文件。
|
void |
downloadMediaFile(java.lang.String fileUniqueId,
java.lang.String fileUrl,
java.lang.String fileName,
java.lang.String path,
IRongCallback.IDownloadMediaFileCallback callback)
下载文件
支持断点续传, 对应的暂停下载须调用 @see
pauseDownloadMediaFile(String, OperationCallback) |
void |
downloadMediaMessage(Message message,
IRongCallback.IDownloadMediaMessageCallback callback)
下载文件。
|
void |
enableHttpsSelfCertificate(boolean isEnable)
设置建立 Https 连接时,是否使用自签证书。
|
void |
evaluateCustomService(java.lang.String kefuId,
boolean isRobotResolved,
java.lang.String knowledgeId)
当建立客服连接时,返回的
CustomServiceConfig.CSEvaType 为 CSEvaType.EVA_SEPARATELY, 即人工机器人分开评价时,调用此方法对机器人客服进行评价 |
void |
evaluateCustomService(java.lang.String kefuId,
int source,
CustomServiceConfig.CSEvaSolveStatus solveStatus,
java.lang.String suggest,
java.lang.String dialogId)
当建立客服连接时,返回的
CustomServiceConfig.CSEvaType 为 CSEvaType.EVA_UNIFIED, 即人工机器人统一评价时,调用此方法进行评价。 |
void |
evaluateCustomService(java.lang.String kefuId,
int source,
CustomServiceConfig.CSEvaSolveStatus resolvestatus,
java.lang.String tagText,
java.lang.String suggest,
java.lang.String dialogId,
java.lang.String extra)
当建立客服连接时,返回的
CustomServiceConfig.CSEvaType 为 CSEvaType.EVA_SEPARATELY, 即人工机器人分开评价时,调用此方法对人工客服进行评价 |
void |
evaluateCustomService(java.lang.String kefuId,
int source,
java.lang.String suggest,
java.lang.String dialogId)
当建立客服连接时,返回的
CustomServiceConfig.CSEvaType 为 CSEvaType.EVA_SEPARATELY, 即人工机器人分开评价时,调用此方法对人工客服进行评价 |
java.util.List<RCEncryptedSession> |
getAllEncryptedConversations()
获取所有加密会话。
|
void |
getBlacklist(RongIMClient.GetBlacklistCallback callback)
获取当前用户设置的黑名单列表。
|
void |
getBlacklistStatus(java.lang.String userId,
RongIMClient.ResultCallback<RongIMClient.BlacklistStatus> callback)
获取某用户是否在黑名单中。
|
void |
getBlockedConversationList(RongIMClient.ResultCallback<java.util.List<Conversation>> callback,
Conversation.ConversationType... conversationTypes)
获取所有设置了消息免打扰的会话列表。
|
void |
getChatroomHistoryMessages(java.lang.String targetId,
long recordTime,
int count,
RongIMClient.TimestampOrder order,
IRongCallback.IChatRoomHistoryMessageCallback callback)
获取聊天室历史消息记录。
|
void |
getChatRoomInfo(java.lang.String chatRoomId,
int defMemberCount,
ChatRoomInfo.ChatRoomMemberOrder order,
RongIMClient.ResultCallback<ChatRoomInfo> callback)
查询聊天室信息。
|
Conversation |
getConversation(Conversation.ConversationType conversationType,
java.lang.String targetId)
已过时。
|
void |
getConversation(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<Conversation> callback)
根据不同会话类型的目标 Id,回调方式获取某一会话信息。
|
java.util.List<Conversation> |
getConversationList()
|
java.util.List<Conversation> |
getConversationList(Conversation.ConversationType... types)
|
void |
getConversationList(RongIMClient.ResultCallback<java.util.List<Conversation>> callback)
获取当前用户本地会话列表的默认方法,该方法返回的是以下类型的会话列表:私聊,群组,讨论组,系统会话。
|
void |
getConversationList(RongIMClient.ResultCallback<java.util.List<Conversation>> callback,
Conversation.ConversationType... conversationTypes)
根据会话类型,获取当前用户的本地会话列表。
|
void |
getConversationListByPage(RongIMClient.ResultCallback<java.util.List<Conversation>> callback,
long timeStamp,
int count,
Conversation.ConversationType... conversationTypes)
分页获取会话列表
注意:当更换设备或者清除缓存后,能拉取到暂存在融云服务器中该账号当天收发过消息的会话。
|
void |
getConversationNotificationStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback)
获取会话消息提醒状态。
|
RongIMClient.ConnectionStatusListener.ConnectionStatus |
getCurrentConnectionStatus()
获取当前服务器连接状态。
|
java.lang.String |
getCurrentUserId()
获取当前连接用户的信息。
|
long |
getDeltaTime()
获取本地时间与服务器时间的差值。
|
void |
getDiscussion(java.lang.String discussionId,
RongIMClient.ResultCallback<Discussion> callback)
根据消息类型,targetId 获取讨论组信息和设置。
|
int |
getEncryptedSessionStatus(java.lang.String targetId)
根据id获取加密会话。
|
java.util.List<Message> |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
int oldestMessageId,
int count)
|
void |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
int oldestMessageId,
int count,
RongIMClient.ResultCallback<java.util.List<Message>> callback)
获取指定类型,targetId 的N条历史消息记录。
|
void |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.util.List<java.lang.String> objectNames,
long timestamp,
int count,
RongCommonDefine.GetMessageDirection direction,
RongIMClient.ResultCallback<java.util.List<Message>> callback)
根据会话类型的目标 Id,回调方式获取某些消息类型的某条消息之前或之后的N条历史消息记录。
|
void |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
long sentTime,
int before,
int after,
RongIMClient.ResultCallback<java.util.List<Message>> resultCallback)
在会话中搜索指定消息的前 before 数量和 after 数量的消息。
|
java.util.List<Message> |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String objectName,
int oldestMessageId,
int count)
|
void |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String objectName,
int baseMessageId,
int count,
RongCommonDefine.GetMessageDirection direction,
RongIMClient.ResultCallback<java.util.List<Message>> callback)
根据会话类型的目标 Id,回调方式获取某消息类型的某条消息之前或之后的N条历史消息记录。
|
void |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String objectName,
int oldestMessageId,
int count,
RongIMClient.ResultCallback<java.util.List<Message>> callback)
获取本地数据库中保存,特定类型,targetId 的N条历史消息记录。
|
java.util.List<Message> |
getHistoryMessagesByMessageId(Conversation.ConversationType conversationType,
java.lang.String targetId,
int oldestMessageId,
int count)
|
java.util.List<Message> |
getHistoryMessagesByObjectNames(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.util.List<java.lang.String> objectNames,
long timestamp,
int count,
RongCommonDefine.GetMessageDirection direction)
已过时。
|
void |
getHistoryMessagesOneWay(Conversation.ConversationType conversationType,
java.lang.String targetId,
int oldestMessageId,
int count,
RongIMClient.ResultCallback<java.util.List<Message>> callback)
已过时。
|
static RongIMClient |
getInstance()
获取 IMLib 接口类实例,需在执行 init 方法初始化 SDK 后获取, 否则返回值为 NULL。
|
java.util.List<Message> |
getLatestMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
int count)
已过时。
|
void |
getLatestMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
int count,
RongIMClient.ResultCallback<java.util.List<Message>> callback)
获取指定类型,targetId 的最新消息记录。
|
void |
getMessage(int messageId,
RongIMClient.ResultCallback<Message> callback)
根据 message id 获取消息体。
|
void |
getMessageByUid(java.lang.String uid,
RongIMClient.ResultCallback<Message> callback)
根据 uid 获取 message 对象
|
void |
getNotificationQuietHours(RongIMClient.GetNotificationQuietHoursCallback callback)
获取消息通知免打扰时间。
|
void |
getOfflineMessageDuration(RongIMClient.ResultCallback<java.lang.String> callback)
获取当前用户离线消息的存储时间,取值范围为int值1~7天
|
void |
getPublicServiceList(RongIMClient.ResultCallback<PublicServiceProfileList> callback)
获取己关注公共账号列表。
|
void |
getPublicServiceProfile(Conversation.PublicServiceType publicServiceType,
java.lang.String publicServiceId,
RongIMClient.ResultCallback<PublicServiceProfile> callback)
获取某公共服务信息。
|
void |
getPushContentShowStatus(RongIMClient.ResultCallback<java.lang.Boolean> callback)
获取是否显示 Push 内容详情的设置
|
void |
getPushLanguage(RongIMClient.ResultCallback<RongIMClient.PushLanguage> callback)
获取 Push 语言设置
|
void |
getPushReceiveStatus(RongIMClient.ResultCallback<java.lang.Boolean> callback)
获取是否接收 Push 的设置, 前提: 移动端未在线,Web 、MAC/PC 终端在线,移动端是否接收 Push
|
io.rong.imlib.location.RealTimeLocationConstant.RealTimeLocationErrorCode |
getRealTimeLocation(Conversation.ConversationType conversationType,
java.lang.String targetId)
获取 RealTimeLocation 实例,每发起一次位置共享业务,就要获取一个实例。
|
io.rong.imlib.location.RealTimeLocationConstant.RealTimeLocationStatus |
getRealTimeLocationCurrentState(Conversation.ConversationType conversationType,
java.lang.String targetId)
获取位置共享状态。
|
java.util.List<java.lang.String> |
getRealTimeLocationParticipants(Conversation.ConversationType conversationType,
java.lang.String targetId)
获取参与该位置共享的所有成员。
|
void |
getRemoteHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
long dateTime,
int count,
RongIMClient.ResultCallback<java.util.List<Message>> callback)
获取融云服务器中暂存且在本地数据库中没有存储的,特定类型,targetId 的N条(一次不超过20条)历史消息记录。
|
long |
getSendTimeByMessageId(int messageId)
根据 messageId 获取消息发送时间
Message.sentTime |
java.lang.String |
getTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId)
已过时。
|
void |
getTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<java.lang.String> callback)
根据消息类型,targetId 获取某一会话的文字消息草稿。
|
void |
getTheFirstUnreadMessage(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<Message> callback)
获取第一条未读消息
|
Activity |
getTopForegroundActivity()
获取在前台的最上层 activity.
|
int |
getTotalUnreadCount()
已过时。
|
void |
getTotalUnreadCount(RongIMClient.ResultCallback<java.lang.Integer> callback)
通过回调方式,获取所有未读消息数。
|
void |
getTotalUnreadCount(RongIMClient.ResultCallback<java.lang.Integer> callback,
Conversation... conversations)
通过回调方式,获取所有指定会话的未读消息数(聊天室除外)。
|
java.util.Collection<TypingStatus> |
getTypingUserListFromConversation(Conversation.ConversationType conversationType,
java.lang.String targetId)
根据conversationType和targetId获取当前会话正在输入的用户列表
|
int |
getUnreadCount(Conversation.ConversationType... conversationTypes)
已过时。
|
void |
getUnreadCount(Conversation.ConversationType[] conversationTypes,
boolean containBlocked,
RongIMClient.ResultCallback<java.lang.Integer> callback)
回调方式获取某会话类型的未读消息数。
|
void |
getUnreadCount(Conversation.ConversationType[] conversationTypes,
RongIMClient.ResultCallback<java.lang.Integer> callback)
根据会话类型数组,回调方式获取某会话类型的未读消息数。
|
int |
getUnreadCount(Conversation.ConversationType conversationType,
java.lang.String targetId)
已过时。
|
void |
getUnreadCount(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<java.lang.Integer> callback)
根据会话类型的目标 Id,回调方式获取来自某用户(某会话)的未读消息数。
|
void |
getUnreadCount(RongIMClient.ResultCallback<java.lang.Integer> callback,
Conversation.ConversationType... conversationTypes)
回调方式获取某会话类型的未读消息数。
|
void |
getUnreadMentionedMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<java.util.List<Message>> callback)
获取某会话里未读的@消息。
|
void |
getUserOnlineStatus(java.lang.String userId,
IRongCallback.IGetUserOnlineStatusCallback callback)
已过时。
|
void |
getVendorToken(RongIMClient.ResultCallback<java.lang.String> resultCallback)
获取登录者身份认证信息。
|
int |
getVideoLimitTime()
获取允许发送视频文件的最大时长
|
static void |
init(Application application,
java.lang.String appKey)
初始化 SDK,在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。
|
static void |
init(Context context)
初始化 SDK,在整个应用程序全局只需要调用一次, 建议在Application继承类中调用。
|
static void |
init(Context context,
java.lang.String appKey)
初始化 SDK,在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。
|
static void |
init(Context context,
java.lang.String appKey,
boolean enablePush)
初始化 SDK,在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。
|
void |
insertIncomingMessage(Conversation.ConversationType type,
java.lang.String targetId,
java.lang.String senderUserId,
Message.ReceivedStatus receivedStatus,
MessageContent content,
long sentTime,
RongIMClient.ResultCallback<Message> resultCallback)
向本地会话中插入一条消息,方向为接收。
|
void |
insertIncomingMessage(Conversation.ConversationType type,
java.lang.String targetId,
java.lang.String senderUserId,
Message.ReceivedStatus receivedStatus,
MessageContent content,
RongIMClient.ResultCallback<Message> resultCallback)
向本地会话中插入一条消息,方向为接收。
|
Message |
insertMessage(Conversation.ConversationType type,
java.lang.String targetId,
java.lang.String senderUserId,
MessageContent content)
|
void |
insertMessage(Conversation.ConversationType type,
java.lang.String targetId,
java.lang.String senderUserId,
MessageContent content,
long sentTime,
RongIMClient.ResultCallback<Message> resultCallback)
|
void |
insertMessage(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String senderUserId,
MessageContent content,
RongIMClient.ResultCallback<Message> resultCallback)
|
void |
insertOutgoingMessage(Conversation.ConversationType type,
java.lang.String targetId,
Message.SentStatus sentStatus,
MessageContent content,
long sentTime,
RongIMClient.ResultCallback<Message> resultCallback)
向本地会话中插入一条消息,方向为发送。
|
void |
insertOutgoingMessage(Conversation.ConversationType type,
java.lang.String targetId,
Message.SentStatus sentStatus,
MessageContent content,
RongIMClient.ResultCallback<Message> resultCallback)
向本地会话中插入一条消息。
|
boolean |
isFileDownloading(int messageId)
判断文件是否正在下载中
此方法只适用于断点续传下载
|
boolean |
isFileDownloading(java.lang.String uid)
判断文件是否正在下载中
此方法只适用于断点续传下载
|
void |
joinChatRoom(java.lang.String chatRoomId,
int defMessageCount,
RongIMClient.OperationCallback callback)
加入聊天室。
|
void |
joinExistChatRoom(java.lang.String chatRoomId,
int defMessageCount,
RongIMClient.OperationCallback callback)
加入已存在的聊天室。
|
void |
joinGroup(java.lang.String groupId,
java.lang.String groupName,
RongIMClient.OperationCallback callback)
已过时。
已废弃。请参考群组 http://www.rongcloud.cn/docs/android.html#3、群组
和 href="http://support.rongcloud.cn/kb/MzY5" 使用说明。
|
io.rong.imlib.location.RealTimeLocationConstant.RealTimeLocationErrorCode |
joinRealTimeLocation(Conversation.ConversationType conversationType,
java.lang.String targetId)
加入位置共享。
|
void |
leaveMessageCustomService(java.lang.String kefuId,
java.util.Map<java.lang.String,java.lang.String> contentMap,
RongIMClient.OperationCallback operationCallback)
发送留言消息给客服。
|
void |
logout()
断开与融云服务器的连接,并且不再接收 Push 消息。
|
void |
pauseDownloadMediaFile(java.lang.String fileUniqueId,
RongIMClient.OperationCallback callback)
暂停多媒体文件下载。
|
void |
pauseDownloadMediaMessage(Message message,
RongIMClient.OperationCallback callback)
暂停多媒体消息下载。
|
void |
quitChatRoom(java.lang.String chatRoomId,
RongIMClient.OperationCallback callback)
退出聊天室。
|
void |
quitDiscussion(java.lang.String discussionId,
RongIMClient.OperationCallback callback)
根据discussionId 退出当前用户所在的某讨论组。
|
void |
quitEncryptedSession(java.lang.String targetId)
退出加密会话
|
void |
quitGroup(java.lang.String groupId,
RongIMClient.OperationCallback callback)
已过时。
已废弃,请参考群组 href="http://www.rongcloud.cn/docs/android.html#3、群组
和 href="http://support.rongcloud.cn/kb/MzY5" 使用说明。
|
void |
quitRealTimeLocation(Conversation.ConversationType conversationType,
java.lang.String targetId)
退出位置共享。
|
void |
recallMessage(Message message,
java.lang.String pushContent,
RongIMClient.ResultCallback<RecallNotificationMessage> callback)
撤回消息
|
void |
reconnect(RongIMClient.ConnectCallback callback)
已过时。
|
static void |
registerMessageType(java.lang.Class<? extends MessageContent> messageContentClass)
用于自定义消息的注册, 注册后方能正确识别自定义消息, 建议在init后及时注册,保证自定义消息到达时能正确解析。
|
boolean |
removeConversation(Conversation.ConversationType conversationType,
java.lang.String targetId)
已过时。
|
void |
removeConversation(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
从会话列表中移除某一会话,但是不删除会话内的消息。
|
void |
removeFromBlacklist(java.lang.String userId,
RongIMClient.OperationCallback callback)
将个某用户从黑名单中移出。
|
void |
removeMemberFromDiscussion(java.lang.String discussionId,
java.lang.String userId,
RongIMClient.OperationCallback callback)
供创建者将某用户移出讨论组。
|
void |
removeNotificationQuietHours(RongIMClient.OperationCallback callback)
移除消息通知免打扰时间。
|
void |
removeRealTimeLocationObserver(Conversation.ConversationType conversationType,
java.lang.String targetId) |
boolean |
saveTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String content)
|
void |
saveTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String content,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
根据消息类型,targetId 保存某一会话的文字消息草稿。
|
void |
searchConversations(java.lang.String keyword,
Conversation.ConversationType[] conversationTypes,
java.lang.String[] objectNames,
RongIMClient.ResultCallback<java.util.List<SearchConversationResult>> resultCallback)
搜索本地历史消息。
|
void |
searchMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String keyword,
int count,
long beginTime,
RongIMClient.ResultCallback<java.util.List<Message>> resultCallback)
根据会话,搜索本地历史消息。
|
void |
searchMessagesByUser(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String userId,
int count,
long beginTime,
RongIMClient.ResultCallback<java.util.List<Message>> resultCallback)
根据会话,搜索本地历史消息。
|
void |
searchPublicService(RongIMClient.SearchType searchType,
java.lang.String keywords,
RongIMClient.ResultCallback<PublicServiceProfileList> callback)
搜索公众服务。
|
void |
searchPublicServiceByType(Conversation.PublicServiceType publicServiceType,
RongIMClient.SearchType searchType,
java.lang.String keywords,
RongIMClient.ResultCallback<PublicServiceProfileList> callback)
按公众服务类型搜索公众服务。
|
void |
selectCustomServiceGroup(java.lang.String kefuId,
java.lang.String groupId)
根据客服ID和分组ID转换人工模式
|
void |
sendDirectionalMediaMessage(Message message,
java.lang.String[] userIds,
java.lang.String pushContent,
java.lang.String pushData,
IRongCallback.ISendMediaMessageCallback callback)
发送定向多媒体消息 向会话中特定的某些用户发送消息,会话中其他用户将不会收到此消息。
|
void |
sendDirectionalMessage(Conversation.ConversationType type,
java.lang.String targetId,
MessageContent content,
java.lang.String[] userIds,
java.lang.String pushContent,
java.lang.String pushData,
IRongCallback.ISendMessageCallback callback)
此方法用于在群组和讨论组中发送消息给其中的部分用户,其它用户不会收到这条消息。
|
void |
sendImageMessage(Conversation.ConversationType type,
java.lang.String targetId,
MessageContent content,
java.lang.String pushContent,
java.lang.String pushData,
RongIMClient.SendImageMessageCallback callback)
根据会话类型,发送图片消息。
|
void |
sendImageMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
RongIMClient.SendImageMessageCallback callback)
发送图片消息
|
void |
sendImageMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
RongIMClient.SendImageMessageWithUploadListenerCallback callback)
发送图片消息,可以使用该方法将图片上传到自己的服务器发送,同时更新图片状态。
|
void |
sendLocationMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
IRongCallback.ISendMessageCallback sendMessageCallback)
发送地理位置消息。
|
void |
sendMediaMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
IRongCallback.ISendMediaMessageCallback callback)
发送多媒体消息
发送前构造
Message 消息实体 |
void |
sendMediaMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
IRongCallback.ISendMediaMessageCallbackWithUploader callback)
发送多媒体消息,可以使用该方法将多媒体文件上传到自己的服务器。
|
void |
sendMessage(Conversation.ConversationType type,
java.lang.String targetId,
MessageContent content,
java.lang.String pushContent,
java.lang.String pushData,
IRongCallback.ISendMessageCallback callback)
根据会话类型,发送消息。
|
Message |
sendMessage(Conversation.ConversationType type,
java.lang.String targetId,
MessageContent content,
java.lang.String pushContent,
java.lang.String pushData,
RongIMClient.SendMessageCallback callback)
|
void |
sendMessage(Conversation.ConversationType conversationType,
java.lang.String targetId,
MessageContent content,
java.lang.String pushContent,
java.lang.String pushData,
RongIMClient.SendMessageCallback callback,
RongIMClient.ResultCallback<Message> resultCallback)
|
void |
sendMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
IRongCallback.ISendMessageCallback callback)
发送消息。
|
Message |
sendMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
RongIMClient.SendMessageCallback callback)
已过时。
|
void |
sendMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
RongIMClient.SendMessageCallback callback,
RongIMClient.ResultCallback<Message> resultCallback)
|
void |
sendMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
SendMessageOption option,
IRongCallback.ISendMessageCallback callback)
发送消息。
|
void |
sendReadReceiptMessage(Conversation.ConversationType conversationType,
java.lang.String targetId,
long timestamp)
发送某个会话中的消息阅读回执
|
void |
sendReadReceiptMessage(Conversation.ConversationType conversationType,
java.lang.String targetId,
long timestamp,
IRongCallback.ISendMessageCallback callback)
发送某个会话中的消息阅读回执
|
void |
sendReadReceiptRequest(Message message,
RongIMClient.OperationCallback callback)
发起群组消息回执请求。
|
void |
sendReadReceiptResponse(Conversation.ConversationType type,
java.lang.String targetId,
java.util.List<Message> messageList,
RongIMClient.OperationCallback callback)
发送群消息已读回执
|
void |
sendTypingStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String typingContentType)
向会话中发送正在输入的状态
|
void |
setAppVer(java.lang.String appVer)
设置集成 sdk 的用户 App 版本信息。
|
static void |
setChatRoomActionListener(RongIMClient.ChatRoomActionListener listener)
开发者可以通过设置监听,获取加入聊天室的状态回调
开发者调用 join 接口后,由于网络异常,加入失败后,sdk 会做重新加入,重新加入后回调此监听的方法通知结果
注意:回调时的线程并不是 UI 线程,请不要在回调中直接操作 UI
|
static void |
setConnectionStatusListener(RongIMClient.ConnectionStatusListener listener)
设置连接状态变化的监听器。
|
void |
setConversationNotificationStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
Conversation.ConversationNotificationStatus notificationStatus,
RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback)
设置会话消息提醒状态。
|
boolean |
setConversationToTop(Conversation.ConversationType conversationType,
java.lang.String targetId,
boolean isTop)
已过时。
|
void |
setConversationToTop(Conversation.ConversationType conversationType,
java.lang.String id,
boolean isTop,
boolean needCreate,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
设置某一会话为置顶或者取消置顶,回调方式获取设置是否成功。
|
void |
setConversationToTop(Conversation.ConversationType conversationType,
java.lang.String id,
boolean isTop,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
设置某一会话为置顶或者取消置顶,回调方式获取设置是否成功。
|
void |
setCustomServiceHumanEvaluateListener(CustomServiceManager.OnHumanEvaluateListener listener)
设置人工评价监听
当人工评价有标签等配置时,在回调中返回配置
|
void |
setDiscussionInviteStatus(java.lang.String discussionId,
RongIMClient.DiscussionInviteStatus status,
RongIMClient.OperationCallback callback)
设置讨论组成员邀请权限。
|
void |
setDiscussionName(java.lang.String discussionId,
java.lang.String name,
RongIMClient.OperationCallback callback)
根据 discussionId 设置讨论组名称。
|
void |
setEncryptedSessionConnectionListener(RongIMClient.EncryptedSessionConnectionListener encryptedSessionConnectionListener)
设置密聊会话建立的监听
|
boolean |
setMessageExtra(int messageId,
java.lang.String value)
已过时。
已废弃,建议使用
setMessageExtra(int, String, ResultCallback) 异步方法。 |
void |
setMessageExtra(int messageId,
java.lang.String value,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
根据 messageId 设置本地消息的附加信息,用于扩展消息的使用场景。
|
void |
setMessageReadTime(long messageId,
long timestamp,
RongIMClient.OperationCallback callback)
根据 message id 设置 message 的 readTime 字段
|
boolean |
setMessageReceivedStatus(int messageId,
Message.ReceivedStatus receivedStatus)
已过时。
|
void |
setMessageReceivedStatus(int messageId,
Message.ReceivedStatus receivedStatus,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
根据 messageId 设置接收到的消息状态。
|
boolean |
setMessageSentStatus(int messageId,
Message.SentStatus sentStatus)
已过时。
|
void |
setMessageSentStatus(int messageId,
Message.SentStatus sentStatus,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
已过时。
|
void |
setMessageSentStatus(Message message,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
根据消息 Message 设置消息状态,回调方式获取设置是否成功。
|
void |
setNotificationQuietHours(java.lang.String startTime,
int spanMinutes,
RongIMClient.OperationCallback callback)
设置消息通知免打扰时间。
|
void |
setOfflineMessageDuration(int duration,
RongIMClient.ResultCallback<java.lang.Long> callback)
设置当前用户离线消息补偿时间
离线消息补偿时间是指某用户离线后,在下次登录时,服务端下发的离线消息对应的时间段。
|
static void |
setOnRecallMessageListener(RongIMClient.OnRecallMessageListener listener)
设置撤回消息监听器
|
void |
setOnReceiveDestructionMessageListener(RongIMClient.OnReceiveDestructionMessageListener listener) |
static void |
setOnReceiveMessageListener(RongIMClient.OnReceiveMessageListener listener)
设置接收消息事件的监听器。
|
void |
setPushContentShowStatus(boolean showStatus,
RongIMClient.OperationCallback callback)
设置是否显示 Push 内容详情
此功能需要从服务端开启用户设置功能
|
void |
setPushLanguage(RongIMClient.PushLanguage language,
RongIMClient.OperationCallback callback)
设置 Push 语言
目前支持中文和英文
此功能需要从服务端开启用户设置功能
|
void |
setPushNotificationListener(PushNotificationListener listener)
设置推送相关配置信息改变的监听
服务器配置的信息,例如:推送语言,通知消息是否显示详情等改变时,在第一次链接成功初始化回调该方法
|
void |
setPushReceiveStatus(boolean receiveStatus,
RongIMClient.OperationCallback callback)
设置是否接收 Push, 前提: 移动端未在线,Web 、MAC/PC 终端在线,移动端是否接收 Push
此功能需要从服务端开启用户设置功能
|
static void |
setRCLogInfoListener(RongIMClient.RCLogInfoListener listener)
设置连接服务器阶段的 Log 输出监听。
|
static void |
setReadReceiptListener(RongIMClient.ReadReceiptListener listener)
设置消息回执监听器,当收到消息回执时会回调其中的
RongIMClient.ReadReceiptListener.onReadReceiptReceived(io.rong.imlib.model.Message) |
static void |
setRecallMessageListener(RongIMClient.RecallMessageListener listener)
已过时。
|
void |
setReconnectKickEnable(boolean enable)
用户没有开通多设备登录功能的前提下,同一个账号在一台新设备上登录的时候,会把这个账号在之前登录的设备上踢出。
|
static void |
setServerInfo(java.lang.String naviServer,
java.lang.String fileServer)
设置私有部署的导航服务器和媒体服务器地址。
|
static void |
setStatisticDomain(java.lang.String domain)
配置数据上传地址 (非必须)
通过配置该地址,SDK 会在初始化时把设备相关信息上传到私有云节点。
|
void |
setSubscribeStatusListener(IRongCallback.ISetSubscribeStatusCallback callback)
已过时。
|
void |
setSyncConversationReadStatusListener(RongIMClient.SyncConversationReadStatusListener listener)
设置多端同步会话阅读数监听
|
static void |
setTypingStatusListener(RongIMClient.TypingStatusListener listener)
设置输入状态监听器,当输入状态发生变化时,会回调
RongIMClient.TypingStatusListener.onTypingStatusChanged(Conversation.ConversationType, String, Collection)
对于单聊而言,当对方正在输入时,监听会触发一次;当对方不处于输入状态时,该监听还会触发一次,但是回调里上来的输入用户列表为空 |
void |
setUserOnlineStatus(int status,
IRongCallback.ISetUserOnlineStatusCallback callback)
已过时。
|
static void |
setUserPolicy(boolean enable)
开启多 cmp 链接策略,开启后会启用新策略优化链接流程。
|
void |
startCustomService(java.lang.String kefuId,
ICustomServiceListener listener,
CSCustomServiceInfo customServiceInfo)
启动客服服务
|
void |
startEncryptedSession(java.lang.String targetId)
开始加密会话
|
io.rong.imlib.location.RealTimeLocationConstant.RealTimeLocationErrorCode |
startRealTimeLocation(Conversation.ConversationType conversationType,
java.lang.String targetId)
发起位置共享。
|
void |
stopCustomService(java.lang.String kefuId)
结束客服.
|
void |
subscribePublicService(Conversation.PublicServiceType publicServiceType,
java.lang.String publicServiceId,
RongIMClient.OperationCallback callback)
订阅公众号。
|
void |
subscribeUserOnlineStatus(java.util.List<java.lang.String> userIdList)
已过时。
|
void |
supportResumeBrokenTransfer(java.lang.String url,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
判断是否支持断点续传
|
void |
switchAppKey(java.lang.String appKey)
切换 appKey.
|
void |
switchToHumanMode(java.lang.String kefuId)
切换到人工客服模式,切换的结果需要在
ICustomServiceListener#onModeChanged(CustomServiceMode) 方法回调中处理
如果客服没有分组, 则直接切人工模式;如果客服有分组,那么需要在回调ICustomServiceListener#onSelectGroup(List)
中去弹出分组选择窗口并选择分组,之后在这个回调中调用 @seeselectCustomServiceGroup(String, String)
根据客服 Id 和 分组 Id 去切换到人工模式
客服模式 分为无服务,机器人模式,人工模式,机器人优先模式,人工优先模式 |
void |
syncConversationNotificationStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
Conversation.ConversationNotificationStatus notificationStatus,
RongIMClient.ResultCallback<java.lang.Boolean> callback)
设置本地数据库的会话消息提醒状态。
|
void |
syncConversationReadStatus(Conversation.ConversationType type,
java.lang.String targetId,
long timestamp,
RongIMClient.OperationCallback callback)
多端登录时,通知其它终端清除某个会话的未读消息数
|
void |
syncGroup(java.util.List<Group> groups,
RongIMClient.OperationCallback callback)
已过时。
已废弃。请参考 http://www.rongcloud.cn/docs/android.html#3、群组, http://support.rongcloud.cn/kb/MzY5 文档中的使用说明。
|
void |
syncUserData(UserData userData,
RongIMClient.OperationCallback callback)
已过时。
|
void |
unsubscribePublicService(Conversation.PublicServiceType publicServiceType,
java.lang.String publicServiceId,
RongIMClient.OperationCallback callback)
取消订阅公众号。
|
void |
updateConversationInfo(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String title,
java.lang.String portrait,
RongIMClient.ResultCallback callback)
更新会话信息。
|
void |
updateRealTimeLocationStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
double latitude,
double longitude)
已过时。
|
void |
updateRealTimeLocationStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
double latitude,
double longitude,
RealTimeLocationType realTimeLocationType)
使用者调用此方法更新新的位置信息。
|
void |
writeDebugFile(java.lang.String msg)
已过时。
|
void |
writeLogFile(java.lang.String msg)
已过时。
|
public void setEncryptedSessionConnectionListener(RongIMClient.EncryptedSessionConnectionListener encryptedSessionConnectionListener)
encryptedSessionConnectionListener
- public static RongIMClient getInstance()
public RongIMClient.ConnectionStatusListener.ConnectionStatus getCurrentConnectionStatus()
public static void init(Application application, java.lang.String appKey)
初始化后,SDK 会注册 activity 生命周期,用于判断应用处于前、后台,根据前后台只能调整链接心跳
application
- 传入 Application 的类。appKey
- app keypublic Activity getTopForegroundActivity()
public static void init(Context context)
context
- 传入Application类的Context。public static void init(Context context, java.lang.String appKey)
初始化 SDK,在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。 调用此接口传入 AppKey 与在 AndroidManifest.xml 里写入 RONG_CLOUD_APP_KEY 是同样效果,二选一即可。
context
- 传入Application类的Context。appKey
- 融云注册应用的AppKey。public static void init(Context context, java.lang.String appKey, boolean enablePush)
初始化 SDK,在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。 调用此接口传入 AppKey 与在 AndroidManifest.xml 里写入 RONG_CLOUD_APP_KEY 是同样效果,二选一即可。
context
- 传入Application类的Context。appKey
- 融云注册应用的AppKey。enablePush
- 是否使用推送功能。false 代表不使用推送相关功能, SDK 里将不会携带推送相关文件。public static RongIMClient connect(java.lang.String token, RongIMClient.ConnectCallback callback)
连接服务器,在整个应用程序全局,只需要调用一次,需在 {#init(Context)} 之后调用。
如果调用此接口遇到连接失败,SDK 会自动启动重连机制进行最多10次重连,分别是1, 2, 4, 8, 16, 32, 64, 128, 256, 512秒后。 在这之后如果仍没有连接成功,还会在当检测到设备网络状态变化时再次进行重连。
token
- 从服务端获取的用户身份令牌(Token)。callback
- 连接回调。public static void setUserPolicy(boolean enable)
connect(String, ConnectCallback)
前调用;
如果导航下发配置开启此功能,会忽略用户设置; 如果导航下发配置关闭此功能,会以用户设置为准;
enable
- 开启或关闭public void reconnect(RongIMClient.ConnectCallback callback)
connect(String, ConnectCallback)
方法重新连接融云服务器,当连接中断时使用。比connect方法多一层保护,不会导致重复连接。
注意:融云 SDK 有自身的重连机制,能在最大程度上保证连接的可靠性,所以通常不需要用户来调用此接口。callback
- 连接回调。public void disconnect()
断开与融云服务器的连接。当调用此接口断开连接后,仍然可以接收 Push 消息。
若想断开连接后不接受 Push 消息,可以调用logout()
@Deprecated public void disconnect(boolean isReceivePush)
disconnect()
或者 logout()
isReceivePush
- 断开后是否接收 push。public void logout()
断开与融云服务器的连接,并且不再接收 Push 消息。
若想断开连接后仍然接受 Push 消息,可以调用 disconnect()
public void createMessageDestructionTask(Message message, DestructionTaskManager.OnOverTimeChangeListener listener, java.lang.String tag)
public void cancelMessageDestructionTask(int msgId)
public static void setConnectionStatusListener(RongIMClient.ConnectionStatusListener listener)
当回调的状态为 RongIMClient.ConnectionStatusListener.ConnectionStatus.TOKEN_INCORRECT
,
需要获取正确的token, 并主动调用connect(String, ConnectCallback)
listener
- 连接状态变化的监听器。public static void setOnReceiveMessageListener(RongIMClient.OnReceiveMessageListener listener)
设置接收消息事件的监听器。所有接收到的消息、通知、状态都经由此处设置的监听器处理。包括私聊消息、讨论组消息、群组消息、聊天室消息以及各种状态。
注意:如果调用此接口的Activity被释放回收,将无法收到事件回调。listener
- 接收消息的监听器。public static void registerMessageType(java.lang.Class<? extends MessageContent> messageContentClass) throws AnnotationNotFoundException
messageContentClass
- 消息类型,必须要继承自 MessageContent
。AnnotationNotFoundException
- 如果没有找到注解时抛出。public void getConversationList(RongIMClient.ResultCallback<java.util.List<Conversation>> callback)
获取当前用户本地会话列表的默认方法,该方法返回的是以下类型的会话列表:私聊,群组,讨论组,系统会话。
如果您需要获取其它类型的会话列表,可以使用getConversationList(ResultCallback, Conversation.ConversationType...)
方法。
当您的会话较多且没有清理机制的时候,我们强烈建议您使用getConversationListByPage(ResultCallback, long, int, Conversation.ConversationType...)
方法分页拉取,
否则有可能超过安卓跨进程数据传输的最大限制而造成异常。
注意:当更换设备或者清除缓存后,拉取到的是暂存在融云服务器中该账号当天收发过消息的会话列表。
callback
- 获取会话列表的回调。@Deprecated public java.util.List<Conversation> getConversationList()
请使用getConversationList(ResultCallback)
或getConversationList(ResultCallback, Conversation.ConversationType...)
getConversationList(ResultCallback)
的同步方法。public void getConversationList(RongIMClient.ResultCallback<java.util.List<Conversation>> callback, Conversation.ConversationType... conversationTypes)
根据会话类型,获取当前用户的本地会话列表。即显示所有本地数据库中收发过消息,并且未被删除的会话。
当您的会话较多且没有清理机制的时候,我们强烈建议您使用getConversationListByPage(ResultCallback, long, int, Conversation.ConversationType...)
方法分页拉取,
否则有可能超过安卓跨进程数据传输的最大限制而造成异常。
注意:当更换设备或者清除缓存后,能拉取到暂存在融云服务器中该账号当天收发过消息的会话。
callback
- 获取会话列表的回调。conversationTypes
- 选择要获取的会话类型。public void getConversationListByPage(RongIMClient.ResultCallback<java.util.List<Conversation>> callback, long timeStamp, int count, Conversation.ConversationType... conversationTypes)
分页获取会话列表
注意:当更换设备或者清除缓存后,能拉取到暂存在融云服务器中该账号当天收发过消息的会话。
callback
- 获取会话列表的回调timeStamp
- 时间戳,获取从此时间戳往前的会话,第一次传 0count
- 取回的会话个数。当实际取回的会话个数小于 count 值时,表明已取完数据conversationTypes
- 选择要获取的会话类型@Deprecated public java.util.List<Conversation> getConversationList(Conversation.ConversationType... types)
请使用getConversationList(ResultCallback)
或getConversationList(ResultCallback, Conversation.ConversationType...)
getConversationList(ResultCallback, Conversation.ConversationType...)
的同步方法。types
- 会话类型。public void getBlockedConversationList(RongIMClient.ResultCallback<java.util.List<Conversation>> callback, Conversation.ConversationType... conversationTypes)
callback
- 获取免打扰会话的回调conversationTypes
- 要获取的会话类型, 如单聊群聊等Conversation.ConversationType
注意该参数必须传值,不能为空
public void getConversation(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<Conversation> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。callback
- 获取会话信息的回调。public void updateConversationInfo(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String title, java.lang.String portrait, RongIMClient.ResultCallback callback)
conversationType
- 会话类型targetId
- 会话 idtitle
- 会话 titleportrait
- 会话 portraitcallback
- 回调@Deprecated public Conversation getConversation(Conversation.ConversationType conversationType, java.lang.String targetId)
根据会话类型及targetId, 获取对应的会话。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。public void removeConversation(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<java.lang.Boolean> callback)
从会话列表中移除某一会话,但是不删除会话内的消息。
如果此会话中有新的消息,该会话将重新在会话列表中显示,并显示最近的历史消息。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。callback
- 移除会话是否成功的回调。@Deprecated public boolean removeConversation(Conversation.ConversationType conversationType, java.lang.String targetId)
从会话列表中移除某一会话,但是不删除会话内的消息。 如果此会话中有新的消息,该会话将重新在会话列表中显示,并显示最近的历史消息。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。public void setConversationToTop(Conversation.ConversationType conversationType, java.lang.String id, boolean isTop, RongIMClient.ResultCallback<java.lang.Boolean> callback)
conversationType
- 会话类型。id
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。isTop
- 是否置顶。callback
- 设置置顶或取消置顶是否成功的回调。public void setConversationToTop(Conversation.ConversationType conversationType, java.lang.String id, boolean isTop, boolean needCreate, RongIMClient.ResultCallback<java.lang.Boolean> callback)
conversationType
- 会话类型。id
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。isTop
- 是否置顶。needCreate
- 会话不存在时,是否创建会话。callback
- 设置置顶或取消置顶是否成功的回调。@Deprecated public boolean setConversationToTop(Conversation.ConversationType conversationType, java.lang.String targetId, boolean isTop)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。isTop
- 是否置顶。public void getTotalUnreadCount(RongIMClient.ResultCallback<java.lang.Integer> callback)
callback
- 消息数的回调。public void getTotalUnreadCount(RongIMClient.ResultCallback<java.lang.Integer> callback, Conversation... conversations)
callback
- 获取未读数的回调。conversations
- 需要获取未读数的指定会话。@Deprecated public int getTotalUnreadCount()
public void getUnreadCount(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<java.lang.Integer> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 未读消息数的回调。@Deprecated public int getUnreadCount(Conversation.ConversationType conversationType, java.lang.String targetId)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。public void getUnreadCount(RongIMClient.ResultCallback<java.lang.Integer> callback, Conversation.ConversationType... conversationTypes)
callback
- 未读消息数的回调。conversationTypes
- 会话类型。public void getUnreadCount(Conversation.ConversationType[] conversationTypes, boolean containBlocked, RongIMClient.ResultCallback<java.lang.Integer> callback)
conversationTypes
- 会话类型。callback
- 未读消息数的回调。containBlocked
- 是否带有消息为打扰的未读消息数public void getUnreadCount(Conversation.ConversationType[] conversationTypes, RongIMClient.ResultCallback<java.lang.Integer> callback)
conversationTypes
- 会话类型。callback
- 未读消息数的回调。@Deprecated public int getUnreadCount(Conversation.ConversationType... conversationTypes)
conversationTypes
- 会话类型。@Deprecated public java.util.List<Message> getLatestMessages(Conversation.ConversationType conversationType, java.lang.String targetId, int count)
getLatestMessages(Conversation.ConversationType, String, int, ResultCallback)
异步方法。获取指定类型,targetId 的最新消息记录。通常在进入会话后,调用此接口拉取该会话的最近聊天记录。 注意:此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。targetId
- 目标 Id。count
- 要获取的消息数量。public void getLatestMessages(Conversation.ConversationType conversationType, java.lang.String targetId, int count, RongIMClient.ResultCallback<java.util.List<Message>> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。count
- 要获取的消息数量。callback
- 获取最新消息记录的回调,按照时间顺序从新到旧排列。@Deprecated public java.util.List<Message> getHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, int oldestMessageId, int count)
getHistoryMessages(Conversation.ConversationType, String, int, int, ResultCallback)
或 getHistoryMessages(Conversation.ConversationType, String, String, int, int, ResultCallback)
异步方法。获取本地数据库中保存,特定类型,targetId 的N条历史消息记录。通过此接口可以根据情况分段加载历史消息,节省网络资源,提高用户体验。
该接口不支持拉取聊天室 Conversation.ConversationType.CHATROOM
历史消息。
注意:此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。oldestMessageId
- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count
- 要获取的消息数量。@Deprecated public java.util.List<Message> getHistoryMessagesByMessageId(Conversation.ConversationType conversationType, java.lang.String targetId, int oldestMessageId, int count)
getHistoryMessages(Conversation.ConversationType, String, int, int, ResultCallback)
或 getHistoryMessages(Conversation.ConversationType, String, String, int, int, ResultCallback)
异步方法。获取本地数据库中保存,特定类型,targetId 的N条历史消息记录。通过此接口可以根据情况分段加载历史消息,节省网络资源,提高用户体验。
该接口不支持拉取聊天室 Conversation.ConversationType.CHATROOM
历史消息。
注意:此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。oldestMessageId
- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count
- 要获取的消息数量。@Deprecated public java.util.List<Message> getHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String objectName, int oldestMessageId, int count)
getHistoryMessages(Conversation.ConversationType, String, int, int, ResultCallback)
或 getHistoryMessages(Conversation.ConversationType, String, String, int, int, ResultCallback)
异步方法。获取本地数据库中保存,特定类型,targetId 的N条历史消息记录。通过此接口可以根据情况分段加载历史消息,节省网络资源,提高用户体验。
该接口不支持拉取聊天室 Conversation.ConversationType.CHATROOM
历史消息。
注意:此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。objectName
- 消息类型标识。oldestMessageId
- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count
- 要获取的消息数量。public void getHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String objectName, int oldestMessageId, int count, RongIMClient.ResultCallback<java.util.List<Message>> callback)
获取本地数据库中保存,特定类型,targetId 的N条历史消息记录。通过此接口可以根据情况分段加载历史消息,节省网络资源,提高用户体验。
该接口不支持拉取聊天室 Conversation.ConversationType.CHATROOM
历史消息。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 。objectName
- 消息类型标识。oldestMessageId
- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count
- 要获取的消息数量callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。public void getHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String objectName, int baseMessageId, int count, RongCommonDefine.GetMessageDirection direction, RongIMClient.ResultCallback<java.util.List<Message>> callback)
根据会话类型的目标 Id,回调方式获取某消息类型的某条消息之前或之后的N条历史消息记录。如: 要获取messageId为22的之前的10条图片消息, 则相应参数为 getHistoryMessages(conversationType, targetId, "RC:ImgMsg", 22, 10, true, resultCallback)。 注意:返回的消息列表里面不包含oldestMessageId本身。
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。objectName
- 消息类型标识。如RC:TxtMsg,RC:ImgMsg,RC:VcMsg等。baseMessageId
- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count
- 要获取的消息数量direction
- 要获取的消息相对于 oldestMessageId 的方向 io.rong.imlib.RongCommonDefine.GetMessageDirection
以指定的 message id 作为获取的起始点,时间早于该 id 则为 FRONT,晚于则为 BEHIND。callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。public void getHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, java.util.List<java.lang.String> objectNames, long timestamp, int count, RongCommonDefine.GetMessageDirection direction, RongIMClient.ResultCallback<java.util.List<Message>> callback)
根据会话类型的目标 Id,回调方式获取某些消息类型的某条消息之前或之后的N条历史消息记录。如: 要获取messageId为22的之前的10条图片消息,和文字消息 objectNames 为字符串 List objectNames.add("RC:ImgMsg"); objectNames.add("RC:TxtMsg"); 则相应参数为 getHistoryMessages(conversationType, targetId, objectNames, 22, 10, true, resultCallback)。 注意:返回的消息列表里面不包含oldestMessageId本身。
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。objectNames
- 消息类型标识List。如RC:TxtMsg,RC:ImgMsg,RC:VcMsg等构成的List。timestamp
- 最后一条消息的 sendtime ,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:0。count
- 要获取的消息数量direction
- 要获取的消息相对于 oldestMessageId 的方向 io.rong.imlib.RongCommonDefine.GetMessageDirection
以指定的 message id 作为获取的起始点,时间早于该 id 则为 FRONT,晚于则为 BEHIND。callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。@Deprecated public java.util.List<Message> getHistoryMessagesByObjectNames(Conversation.ConversationType conversationType, java.lang.String targetId, java.util.List<java.lang.String> objectNames, long timestamp, int count, RongCommonDefine.GetMessageDirection direction)
根据会话类型的目标 Id,回调方式获取某些消息类型的某条消息之前或之后的N条历史消息记录。如: 要获取messageId为22的之前的10条图片消息,和文字消息 objectNames.add("RC:ImgMsg"); objectNames.add("RC:TxtMsg"); 则相应参数为 getHistoryMessages(conversationType, targetId, objectNames, 22, 10, true, resultCallback)。 注意:返回的消息列表里面不包含oldestMessageId本身。此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。objectNames
- 消息类型标识List。如RC:TxtMsg,RC:ImgMsg,RC:VcMsg等构成的List。timestamp
- 最后一条消息的 sendTime ,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:0。count
- 要获取的消息数量direction
- 要获取的消息相对于 oldestMessageId 的方向 io.rong.imlib.RongCommonDefine.GetMessageDirection
以指定的 message id 作为获取的起始点,时间早于该 id 则为 FRONT,晚于则为 BEHIND。public void getRemoteHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, long dateTime, int count, RongIMClient.ResultCallback<java.util.List<Message>> callback)
获取融云服务器中暂存且在本地数据库中没有存储的,特定类型,targetId 的N条(一次不超过20条)历史消息记录。通过此接口可以根据情况分段加载历史消息,节省网络资源,提高用户体验。
区别于 getHistoryMessages(io.rong.imlib.model.Conversation.ConversationType, java.lang.String, int, int)
,该接口是从融云服务器中拉取。从服务端拉取消息后,客户端会做排重,返回排重后的数据。通常用于更换新设备后,拉取历史消息。
使用的时候,建议优先通过 getHistoryMessages(Conversation.ConversationType, String, int, int, ResultCallback)
从本地数据库拉取历史消息,
当本地数据库没有历史消息后,再通过此接口获取服务器历史消息,时间戳传入本地数据库里最旧的消息时间
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。dateTime
- 从该时间点开始获取消息。即:消息中的 sentTime;如果本地库中没有消息,第一次可传 0,否则传入最早消息的sentTime,获取最新 count 条。count
- 要获取的消息数量,最多 20 条。callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。public void cleanRemoteHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, long recordTime, RongIMClient.OperationCallback callback)
此方法从服务器端清除历史消息,但是必须先开通历史消息云存储功能。
根据会话类型和TargetId清除某一会话指定时间戳之前的服务端历史消息, 清除成功后只能从服务端获取到该时间戳 之后的历史消息。
conversationType
- 会话类型。targetId
- 会话目标ID。recordTime
- 清除消息截止时间戳,【0 ~ 当前时间的 Unix 时间戳】。callback
- 清除消息的回调。public void cleanHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, long recordTime, boolean cleanRemote, RongIMClient.OperationCallback callback)
此方法从服务器端清除历史消息,但是必须先开通历史消息云存储功能。
根据会话类型和 TargetId 清除某一会话指定时间戳之前的本地数据库消息(服务端历史消息), 清除成功后只能从本地数据库(服务端)获取到该时间戳之后的历史消息。
conversationType
- 会话类型。targetId
- 会话目标ID。recordTime
- 清除消息截止时间戳,【0 ~ 当前时间的 Unix 时间戳】。cleanRemote
- 是否删除服务器端消息callback
- 清除消息的回调。public void getChatroomHistoryMessages(java.lang.String targetId, long recordTime, int count, RongIMClient.TimestampOrder order, IRongCallback.IChatRoomHistoryMessageCallback callback)
targetId
- 目标 Id。recordTime
- 起始的消息发送时间戳,单位: 毫秒。count
- 要获取的消息数量,count 大于 0 ,小于等于 200。order
- 拉取顺序: 降序, 按照时间戳从大到小; 升序, 按照时间戳从小到大。callback
- 回调@Deprecated public void getUserOnlineStatus(java.lang.String userId, IRongCallback.IGetUserOnlineStatusCallback callback)
userId
- 所要获取的用户Idcallback
- 回调方法 @see {io.rong.imlib.IRongCallback.IGetUserOnlineStatusCallback}
如果用户为离线状态,回调中返回的用户在线信息列表为 null
用户在线状态信息 @see {io.rong.imlib.model.UserOnlineStatusInfo}
目前只用于私有云环境,普通公有云无法调用,如需使用请联系商务 该方法已废弃,请不要调用。
@Deprecated public void subscribeUserOnlineStatus(java.util.List<java.lang.String> userIdList)
setSubscribeStatusListener(IRongCallback.ISetSubscribeStatusCallback)
设置回调接口。
该方法已废弃,请不要调用。userIdList
- 用户列表@Deprecated public void setSubscribeStatusListener(IRongCallback.ISetSubscribeStatusCallback callback)
callback
- @Deprecated public void setUserOnlineStatus(int status, IRongCallback.ISetUserOnlineStatusCallback callback)
status
- 设置用户的状态callback
- 回调方法 @see {io.rong.imlib.IRongCallback.ISetUserOnlineStatusCallback}
成功回调 onSuccess,失败回调 onError 并带回 errorCode
目前只用于私有云环境,普通公有云无法调用,如需使用请联系商务 该方法已废弃,请不要调用。
public void getHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, int oldestMessageId, int count, RongIMClient.ResultCallback<java.util.List<Message>> callback)
获取指定类型,targetId 的N条历史消息记录。通过此接口可以根据情况分段加载历史消息,节省网络资源,提高用户体验。 该接口不支持拉取聊天室 {io.rong.imlib.model.Conversation.ConversationType#CHATROOM} 历史消息。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。oldestMessageId
- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count
- 要获取的消息数量。callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。@Deprecated public void getHistoryMessagesOneWay(Conversation.ConversationType conversationType, java.lang.String targetId, int oldestMessageId, int count, RongIMClient.ResultCallback<java.util.List<Message>> callback)
获取指定类型,targetId 的N条历史消息记录。通过此接口可以根据情况分段加载历史消息,节省网络资源,提高用户体验。 该接口不支持拉取聊天室 {io.rong.imlib.model.Conversation.ConversationType#CHATROOM} 历史消息。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。oldestMessageId
- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count
- 要获取的消息数量。callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。@Deprecated public boolean deleteMessages(int[] messageIds)
根据 messageId,删除指定的一条或者一组消息。
注意:此为同步方法,极端情况会导致UI界面卡顿。
messageIds
- 要删除的消息 Id 数组。public void deleteMessages(int[] messageIds, RongIMClient.ResultCallback<java.lang.Boolean> callback)
messageIds
- 要删除的消息 Id 数组。callback
- 是否删除成功的回调。public void deleteMessages(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<java.lang.Boolean> callback)
清除指定会话的消息
。此接口会删除指定会话中数据库的所有消息,同时,会清理数据库空间。 如果数据库特别大,超过几百 M,调用该接口会有少许耗时。
conversationType
- 指定的会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是userId, groupId, discussionId。callback
- 是否删除成功的回调。public void deleteRemoteMessages(Conversation.ConversationType conversationType, java.lang.String targetId, Message[] messages, RongIMClient.OperationCallback callback)
conversationType
- 会话类型, 不支持聊天室targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、客服 Id。messages
- 要删除的消息数组, 数组大小不能超过100条。callback
- 是否删除成功的回调。@Deprecated public boolean clearMessages(Conversation.ConversationType conversationType, java.lang.String targetId)
清空指定类型,targetId 的某一会话所有聊天消息记录。
注意:此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。public void clearMessages(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<java.lang.Boolean> callback)
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 清空是否成功的回调。@Deprecated public boolean clearMessagesUnreadStatus(Conversation.ConversationType conversationType, java.lang.String targetId)
clearMessagesUnreadStatus(Conversation.ConversationType, String, ResultCallback)
异步方法。清除指定类型,targetId 的某一会话消息未读状态。
注意:此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。public void clearMessagesUnreadStatus(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<java.lang.Boolean> callback)
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 清除是否成功的回调。@Deprecated public boolean setMessageExtra(int messageId, java.lang.String value)
setMessageExtra(int, String, ResultCallback)
异步方法。通过 messageId 设置本地消息的附加信息,用于扩展消息的使用场景。设置后可以通过 getHistoryMessages(io.rong.imlib.model.Conversation.ConversationType, java.lang.String, int, int)
取出带附加信息的消息。只能用于本地使用,无法同步给远程用户。
注意:此为同步方法,极端情况会导致UI界面卡顿。
messageId
- 消息 Id。value
- 消息附加信息,最大 1024 字节。public void setMessageExtra(int messageId, java.lang.String value, RongIMClient.ResultCallback<java.lang.Boolean> callback)
getHistoryMessages(io.rong.imlib.model.Conversation.ConversationType, java.lang.String, int, int)
取出带附加信息的消息。只能用于本地使用,无法同步给远程用户。messageId
- 消息 Id。value
- 消息附加信息,最大 1024 字节。callback
- 是否设置成功的回调。@Deprecated public boolean setMessageReceivedStatus(int messageId, Message.ReceivedStatus receivedStatus)
setMessageReceivedStatus(int, Message.ReceivedStatus, ResultCallback)
异步方法。根据 messageId 设置接收到的消息状态。用于UI标记消息为已读,已下载等状态。
注意:此为同步方法,极端情况会导致UI界面卡顿。
messageId
- 消息 Id。receivedStatus
- 接收到的消息状态。public void setMessageReceivedStatus(int messageId, Message.ReceivedStatus receivedStatus, RongIMClient.ResultCallback<java.lang.Boolean> callback)
messageId
- 消息 Id。receivedStatus
- 接收到的消息状态。callback
- 是否设置成功的回调。@Deprecated public boolean setMessageSentStatus(int messageId, Message.SentStatus sentStatus)
setMessageSentStatus(int, Message.SentStatus, ResultCallback)
异步方法。根据 messageId 设置消息的发送状态。用于UI标记消息为正在发送,对方已接收等状态。
注意:此为同步方法,极端情况会导致UI界面卡顿。
messageId
- 消息 Id。sentStatus
- 发送的消息状态。@Deprecated public void setMessageSentStatus(int messageId, Message.SentStatus sentStatus, RongIMClient.ResultCallback<java.lang.Boolean> callback)
messageId
- 消息 Id。sentStatus
- 发送的消息状态,Message.SentStatus
。callback
- 是否设置成功的回调。public void setMessageSentStatus(Message message, RongIMClient.ResultCallback<java.lang.Boolean> callback)
message
- 消息实体。要设置的发送状态包含在 message 中callback
- 是否设置成功的回调。@Deprecated public java.lang.String getTextMessageDraft(Conversation.ConversationType conversationType, java.lang.String targetId)
getTextMessageDraft(Conversation.ConversationType, String, ResultCallback)
异步方法。根据消息类型,targetId 获取某一会话的文字消息草稿。用于获取用户输入但未发送的暂存消息。
注意:此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。public void getTextMessageDraft(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<java.lang.String> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。callback
- 获取草稿文字内容的回调。@Deprecated public boolean saveTextMessageDraft(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String content)
saveTextMessageDraft(Conversation.ConversationType, String, String, ResultCallback)
异步方法。根据消息类型,targetId 保存某一会话的文字消息草稿。用于暂存用户输入但未发送的消息。
注意:此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。content
- 草稿的文字内容。public void saveTextMessageDraft(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String content, RongIMClient.ResultCallback<java.lang.Boolean> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。content
- 草稿的文字内容。callback
- 是否保存成功的回调。@Deprecated public boolean clearTextMessageDraft(Conversation.ConversationType conversationType, java.lang.String targetId)
clearTextMessageDraft(Conversation.ConversationType, String, ResultCallback)
异步方法。根据消息类型,targetId 清除某一会话的文字消息草稿。
注意:此为同步方法,极端情况会导致UI界面卡顿。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。public void clearTextMessageDraft(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<java.lang.Boolean> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。callback
- 是否清除成功的回调。public void getDiscussion(java.lang.String discussionId, RongIMClient.ResultCallback<Discussion> callback)
discussionId
- 讨论组 Id。callback
- 获取讨论组的回调。public static void setChatRoomActionListener(RongIMClient.ChatRoomActionListener listener)
listener
- 监听对象。public void setDiscussionName(java.lang.String discussionId, java.lang.String name, RongIMClient.OperationCallback callback)
discussionId
- 讨论组 Id。name
- 讨论组名称。callback
- 设置讨论组的回调。public void createDiscussion(java.lang.String name, java.util.List<java.lang.String> userIdList, RongIMClient.CreateDiscussionCallback callback)
name
- 讨论组名称,如:当前所有成员的名字的组合。userIdList
- 讨论组成员 Id 列表。callback
- 创建讨论组成功后的回调。public void addMemberToDiscussion(java.lang.String discussionId, java.util.List<java.lang.String> userIdList, RongIMClient.OperationCallback callback)
discussionId
- 讨论组 Id。userIdList
- 邀请的用户 Id 列表。callback
- 执行操作的回调。public void removeMemberFromDiscussion(java.lang.String discussionId, java.lang.String userId, RongIMClient.OperationCallback callback)
供创建者将某用户移出讨论组。
如果当前登陆用户不是此讨论组的创建者并且此讨论组没有开放加人权限,则会返回错误 RongIMClient.ErrorCode
。
不能使用此接口将自己移除,否则会返回错误 RongIMClient.ErrorCode
。
如果您需要退出该讨论组,可以使用 quitDiscussion(String, OperationCallback)
方法。
discussionId
- 讨论组 Id。userId
- 用户 Id。callback
- 执行操作的回调 RongIMClient.OperationCallback
。public void quitDiscussion(java.lang.String discussionId, RongIMClient.OperationCallback callback)
discussionId
- 讨论组 Id。callback
- 执行操作的回调。public void getMessage(int messageId, RongIMClient.ResultCallback<Message> callback)
messageId
- 消息 id。callback
- 回调。public void insertMessage(Conversation.ConversationType type, java.lang.String targetId, java.lang.String senderUserId, MessageContent content, long sentTime, RongIMClient.ResultCallback<Message> resultCallback)
insertIncomingMessage(Conversation.ConversationType, String, String, Message.ReceivedStatus, MessageContent, long, ResultCallback)
insertOutgoingMessage(Conversation.ConversationType, String, Message.SentStatus, MessageContent, long, ResultCallback)
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论组的id.senderUserId
- 发送用户 Id。如果是模拟本人插入的消息,则该id设置为当前登录用户即可。如果要模拟对方插入消息,则该id需要设置为对方的id.content
- 消息内容。如TextMessage
ImageMessage
等。sentTime
- 消息的发送时间。resultCallback
- 获得消息发送实体的回调。public void insertMessage(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String senderUserId, MessageContent content, RongIMClient.ResultCallback<Message> resultCallback)
insertIncomingMessage(Conversation.ConversationType, String, String, Message.ReceivedStatus, MessageContent, ResultCallback)
insertOutgoingMessage(Conversation.ConversationType, String, Message.SentStatus, MessageContent, ResultCallback)
conversationType
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论组的id.senderUserId
- 发送用户 Id。如果是模拟本人插入的消息,则该id设置为当前登录用户即可。如果要模拟对方插入消息,则该id需要设置为对方的id.content
- 消息内容。如TextMessage
ImageMessage
等。resultCallback
- 获得消息发送实体的回调。@Deprecated public Message insertMessage(Conversation.ConversationType type, java.lang.String targetId, java.lang.String senderUserId, MessageContent content)
insertMessage(Conversation.ConversationType, String, String, MessageContent, ResultCallback)
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论组的id.senderUserId
- 发送用户 Id。如果是模拟本人插入的消息,则该id设置为当前登录用户即可。如果要模拟对方插入消息,则该id需要设置为对方的id.content
- 消息内容。public void insertOutgoingMessage(Conversation.ConversationType type, java.lang.String targetId, Message.SentStatus sentStatus, MessageContent content, RongIMClient.ResultCallback<Message> resultCallback)
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论,组的id.sentStatus
- 发送状态 @see Message.SentStatus
content
- 消息内容。如TextMessage
ImageMessage
等。resultCallback
- 获得消息发送实体的回调。public void insertOutgoingMessage(Conversation.ConversationType type, java.lang.String targetId, Message.SentStatus sentStatus, MessageContent content, long sentTime, RongIMClient.ResultCallback<Message> resultCallback)
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论组的id.sentStatus
- 发送状态 @see Message.SentStatus
content
- 消息内容。如TextMessage
ImageMessage
等。sentTime
- 消息的发送时间。resultCallback
- 获得消息发送实体的回调。public void insertIncomingMessage(Conversation.ConversationType type, java.lang.String targetId, java.lang.String senderUserId, Message.ReceivedStatus receivedStatus, MessageContent content, RongIMClient.ResultCallback<Message> resultCallback)
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论,组的id.senderUserId
- 发送方 IdreceivedStatus
- 接收状态 @see Message.ReceivedStatus
content
- 消息内容。如TextMessage
ImageMessage
等。resultCallback
- 获得消息发送实体的回调。public void insertIncomingMessage(Conversation.ConversationType type, java.lang.String targetId, java.lang.String senderUserId, Message.ReceivedStatus receivedStatus, MessageContent content, long sentTime, RongIMClient.ResultCallback<Message> resultCallback)
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论组的id.senderUserId
- 发送方 IdreceivedStatus
- 接收状态 @see Message.ReceivedStatus
content
- 消息内容。如TextMessage
ImageMessage
等。sentTime
- 消息的发送时间。resultCallback
- 获得消息发送实体的回调。public void sendLocationMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMessageCallback sendMessageCallback)
发送地理位置消息。
发送前构造 Message
消息实体,消息实体中的 content 必须为 LocationMessage
, 否则返回失败。
其中的缩略图地址 scheme 只支持 file:// 和 http://。也可不设置缩略图地址,传入 null。
message
- 消息实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。sendMessageCallback
- 发送消息的回调,参考 IRongCallback.ISendMessageCallback
。@Deprecated public Message sendMessage(Conversation.ConversationType type, java.lang.String targetId, MessageContent content, java.lang.String pushContent, java.lang.String pushData, RongIMClient.SendMessageCallback callback)
sendMessage(Conversation.ConversationType, String, MessageContent, String, String, IRongCallback.ISendMessageCallback)
异步方法发送消息。 注意:此为同步方法,极端情况会导致UI界面卡顿。
type
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。content
- 消息内容。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调。@Deprecated public void sendMessage(Conversation.ConversationType conversationType, java.lang.String targetId, MessageContent content, java.lang.String pushContent, java.lang.String pushData, RongIMClient.SendMessageCallback callback, RongIMClient.ResultCallback<Message> resultCallback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。content
- 消息内容,例如 TextMessage
, ImageMessage
。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调,消息经网络发送成功或失败,通过此回调返回。resultCallback
- 获取发送消息实体的回调,消息存储数据库后,通过此回调返回。@Deprecated public void sendMessage(Message message, java.lang.String pushContent, java.lang.String pushData, RongIMClient.SendMessageCallback callback, RongIMClient.ResultCallback<Message> resultCallback)
message
- 发送消息的实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调,消息经网络发送成功或失败,通过此回调返回。resultCallback
- 获取发送消息实体的回调,消息存储数据库后,通过此回调返回。
sendMessage(Message, String, String, IRongCallback.ISendMessageCallback)
public void sendMessage(Conversation.ConversationType type, java.lang.String targetId, MessageContent content, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMessageCallback callback)
根据会话类型,发送消息。
通过 IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。
type
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。content
- 消息内容,例如 TextMessage
, ImageMessage
。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调。参考 IRongCallback.ISendMessageCallback
。
sendMessage(Message, String, String, IRongCallback.ISendMessageCallback)
public void sendMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMessageCallback callback)
发送消息。
通过 IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。
message
- 将要发送的消息体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调,参考 IRongCallback.ISendMessageCallback
。public void sendMessage(Message message, java.lang.String pushContent, java.lang.String pushData, SendMessageOption option, IRongCallback.ISendMessageCallback callback)
发送消息。
通过 IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。
message
- 将要发送的消息体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。option
- 发送消息附加选项,目前仅支持设置 isVoIPPush,如果对端设备是 iOS,设置 isVoIPPush 为 True,会走 VoIP 通道推送 Push.callback
- 发送消息的回调,参考 IRongCallback.ISendMessageCallback
。public void sendDirectionalMessage(Conversation.ConversationType type, java.lang.String targetId, MessageContent content, java.lang.String[] userIds, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMessageCallback callback)
此方法用于在群组和讨论组中发送消息给其中的部分用户,其它用户不会收到这条消息。
通过 IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。
ImageMessage
FileMessage
或其他继承自 MediaMessageContent
的消息须调用
sendDirectionalMediaMessage(Message, String[], String, String, IRongCallback.ISendMediaMessageCallback)
type
- 会话类型。targetId
- 目标 Id。只能是讨论组 Id 或群组 Id。content
- 消息内容,例如 TextMessage
, ImageMessage
。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。userIds
- 讨论组或群组会话中将会接收到此消息的用户列表。callback
- 发送消息的回调,参考 IRongCallback.ISendMessageCallback
。@Deprecated public Message sendMessage(Message message, java.lang.String pushContent, java.lang.String pushData, RongIMClient.SendMessageCallback callback)
sendMessage(Message, String, String, IRongCallback.ISendMessageCallback)
异步方法。发送消息,返回发送的消息实体。 注意:此为同步方法,极端情况会导致UI界面卡顿。
message
- 发送消息的实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调。public void sendImageMessage(Conversation.ConversationType type, java.lang.String targetId, MessageContent content, java.lang.String pushContent, java.lang.String pushData, RongIMClient.SendImageMessageCallback callback)
根据会话类型,发送图片消息。
type
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。content
- 消息内容,例如 TextMessage
, ImageMessage
。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调。
sendMessage(Conversation.ConversationType, String, MessageContent, String, String, IRongCallback.ISendMessageCallback)
public void sendImageMessage(Message message, java.lang.String pushContent, java.lang.String pushData, RongIMClient.SendImageMessageCallback callback)
发送图片消息
message
- 发送消息的实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调 RongIMClient.SendImageMessageCallback
。public void sendImageMessage(Message message, java.lang.String pushContent, java.lang.String pushData, RongIMClient.SendImageMessageWithUploadListenerCallback callback)
发送图片消息,可以使用该方法将图片上传到自己的服务器发送,同时更新图片状态。
使用该方法在上传图片时,会回调 RongIMClient.SendImageMessageWithUploadListenerCallback
此回调中会携带 RongIMClient.UploadImageStatusListener
对象,使用者只需要调用其中的
RongIMClient.UploadImageStatusListener.update(int)
更新进度
{ UploadImageStatusListener#success(Uri)} 更新成功状态,并告知上传成功后的图片地址
RongIMClient.UploadImageStatusListener.error()
更新失败状态
message
- 发送消息的实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调,回调中携带 RongIMClient.UploadImageStatusListener
对象,用户调用该对象中的方法更新状态。
sendImageMessage(Message, String, String, SendImageMessageCallback)
public void downloadMedia(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.MediaType mediaType, java.lang.String imageUrl, RongIMClient.DownloadMediaCallback callback)
下载多媒体文件。 用来获取媒体原文件时调用。如果本地缓存中包含此文件,则从本地缓存中直接获取,否则将从服务器端下载。
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。mediaType
- 文件类型。imageUrl
- 文件的 URL 地址。callback
- 下载文件的回调。public void downloadMediaMessage(Message message, IRongCallback.IDownloadMediaMessageCallback callback)
message
- 文件消息。callback
- 下载文件的回调。public void downloadMediaFile(java.lang.String fileUniqueId, java.lang.String fileUrl, java.lang.String fileName, java.lang.String path, IRongCallback.IDownloadMediaFileCallback callback)
pauseDownloadMediaFile(String, OperationCallback)
fileUniqueId
- 文件唯一标识, 与 pauseDownloadMediaFile(String, OperationCallback)
第一个参数对应fileUrl
- 文件下载地址fileName
- 文件名path
- 文件下载保存目录,例如 "/storage/emulated/0/pinAttach"callback
- 下载文件的回调public void cancelSendMediaMessage(Message message, RongIMClient.OperationCallback callback)
message
- 包含多媒体文件的消息。callback
- 取消发送多媒体文件时的回调。public void cancelDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)
message
- 包含多媒体文件的消息。callback
- 取消下载多媒体文件时的回调。public void pauseDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)
message
- 包含多媒体文件的消息。callback
- 取消下载多媒体文件时的回调。public void pauseDownloadMediaFile(java.lang.String fileUniqueId, RongIMClient.OperationCallback callback)
downloadMediaFile(String, String, String, String, IRongCallback.IDownloadMediaFileCallback)
下载的文件fileUniqueId
- 文件的唯一标识。
须与 downloadMediaFile(String, String, String, String, IRongCallback.IDownloadMediaFileCallback)
第一个参数对应callback
- 取消下载多媒体文件时的回调。public void getConversationNotificationStatus(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback)
conversationType
- 会话类型。不能设置为聊天室,因为聊天室默认就是不接受会话消息提醒的。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 获取状态的回调。public void setConversationNotificationStatus(Conversation.ConversationType conversationType, java.lang.String targetId, Conversation.ConversationNotificationStatus notificationStatus, RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback)
conversationType
- 会话类型。不支持聊天室类型,因为聊天室默认就是不接受消息提醒的。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。notificationStatus
- 是否屏蔽。callback
- 设置状态的回调。public void syncConversationNotificationStatus(Conversation.ConversationType conversationType, java.lang.String targetId, Conversation.ConversationNotificationStatus notificationStatus, RongIMClient.ResultCallback<java.lang.Boolean> callback)
此接口只更新本地数据库的状态,不会改变服务器端的会话提醒状态。
conversationType
- 会话类型。不支持聊天室类型,因为聊天室默认就是不接受消息提醒的。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。notificationStatus
- 是否屏蔽。callback
- 设置状态的回调。public void setDiscussionInviteStatus(java.lang.String discussionId, RongIMClient.DiscussionInviteStatus status, RongIMClient.OperationCallback callback)
discussionId
- 讨论组 Id。status
- 邀请状态,默认为开放。callback
- 设置权限的回调。@Deprecated public void syncGroup(java.util.List<Group> groups, RongIMClient.OperationCallback callback)
groups
- 需要同步的群组实体。callback
- 同步状态的回调。@Deprecated public void joinGroup(java.lang.String groupId, java.lang.String groupName, RongIMClient.OperationCallback callback)
加入群组。 注意:不建议在端上使用,而是通过服务器调用 server api 加入群组。
groupId
- 群组 Id。groupName
- 群组名称。callback
- 加入群组状态的回调。@Deprecated public void quitGroup(java.lang.String groupId, RongIMClient.OperationCallback callback)
退出群组。
注意:不建议在端上使用,而是通过服务器调用 server api 加入群组。groupId
- 群组 Id。callback
- 退出群组状态的回调。public java.lang.String getCurrentUserId()
connect(String, ConnectCallback)
成功后返回的 userId。public long getDeltaTime()
public void getChatRoomInfo(java.lang.String chatRoomId, int defMemberCount, ChatRoomInfo.ChatRoomMemberOrder order, RongIMClient.ResultCallback<ChatRoomInfo> callback)
ChatRoomInfo
chatRoomId
- 聊天室 Id。defMemberCount
- 进入聊天室拉成员数目,最多 20 条。order
- 按照何种顺序返回聊天室成员信息。升序, 返回最早加入的用户列表; 降序, 返回最晚加入的用户列表。ChatRoomInfo.ChatRoomMemberOrder
callback
- 状态回调。public void joinChatRoom(java.lang.String chatRoomId, int defMessageCount, RongIMClient.OperationCallback callback)
chatRoomId
- 聊天室 Id。defMessageCount
- 进入聊天室拉取消息数目,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 50 条。(加入聊天室时会传本地最后一条消息的时间戳,拉取的是这个时间戳之后的消息。比如:这个时间戳之后有3条消息,defMessageCount传10,也只能拉到3条消息。)callback
- 状态回调。public void joinExistChatRoom(java.lang.String chatRoomId, int defMessageCount, RongIMClient.OperationCallback callback)
chatRoomId
- 聊天室 Id。defMessageCount
- 进入聊天室拉取消息数目,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 40 条。callback
- 状态回调。public void quitChatRoom(java.lang.String chatRoomId, RongIMClient.OperationCallback callback)
chatRoomId
- 聊天室 Id。callback
- 状态回调。public void clearConversations(RongIMClient.ResultCallback callback, Conversation.ConversationType... conversationTypes)
callback
- 是否清空成功的回调。conversationTypes
- 需要清空的会话类型列表。@Deprecated public boolean clearConversations(Conversation.ConversationType... conversationTypes)
conversationTypes
- 需要清空的会话类型列表。public void addToBlacklist(java.lang.String userId, RongIMClient.OperationCallback callback)
当把对方加入黑名单后,对方再发消息时,就会提示“您的消息已经发出, 但被对方拒收”。但您仍然可以给对方发送消息。
userId
- 用户 Id。callback
- 加到黑名单回调。public void removeFromBlacklist(java.lang.String userId, RongIMClient.OperationCallback callback)
userId
- 用户 Id。callback
- 移除黑名单回调。public void getBlacklistStatus(java.lang.String userId, RongIMClient.ResultCallback<RongIMClient.BlacklistStatus> callback)
userId
- 用户 Id。callback
- 获取用户是否在黑名单回调。public void getBlacklist(RongIMClient.GetBlacklistCallback callback)
callback
- 获取黑名单回调。public void searchPublicService(RongIMClient.SearchType searchType, java.lang.String keywords, RongIMClient.ResultCallback<PublicServiceProfileList> callback)
searchType
- 搜索类型枚举。keywords
- 搜索关键字。callback
- 搜索结果回调。public void searchPublicServiceByType(Conversation.PublicServiceType publicServiceType, RongIMClient.SearchType searchType, java.lang.String keywords, RongIMClient.ResultCallback<PublicServiceProfileList> callback)
publicServiceType
- 公众服务类型。searchType
- 搜索类型枚举。keywords
- 搜索关键字。callback
- 搜索结果回调。public void subscribePublicService(Conversation.PublicServiceType publicServiceType, java.lang.String publicServiceId, RongIMClient.OperationCallback callback)
publicServiceType
- 公众服务类型。publicServiceId
- 公共服务 Id。callback
- 订阅公众号回调。public void unsubscribePublicService(Conversation.PublicServiceType publicServiceType, java.lang.String publicServiceId, RongIMClient.OperationCallback callback)
publicServiceType
- 公众服务类型。publicServiceId
- 公共服务 Id。callback
- 取消订阅公众号回调。public void getPublicServiceProfile(Conversation.PublicServiceType publicServiceType, java.lang.String publicServiceId, RongIMClient.ResultCallback<PublicServiceProfile> callback)
publicServiceType
- 公众服务类型。publicServiceId
- 公共服务 Id。callback
- 公共账号信息回调。public void getPublicServiceList(RongIMClient.ResultCallback<PublicServiceProfileList> callback)
callback
- 获取己关注公共账号列表回调。public void setNotificationQuietHours(java.lang.String startTime, int spanMinutes, RongIMClient.OperationCallback callback)
startTime
- 起始时间 格式 HH:MM:SS。spanMinutes
- 设置的免打扰结束时间距离起始时间的间隔分钟数。 0 < spanMinutes < 1440。
比如,您设置的起始时间是 00:00, 结束时间为 23:59,则 spanMinutes 为 23 * 60 + 59 = 1339 分钟。callback
- 消息通知免打扰时间回调。public void removeNotificationQuietHours(RongIMClient.OperationCallback callback)
callback
- 移除消息通知免打扰时间回调。public void clearMessagesUnreadStatus(Conversation.ConversationType conversationType, java.lang.String targetId, long timestamp, RongIMClient.OperationCallback callback)
Message.getSentTime()
在时间戳之前的消息将被置成已读。conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。timestamp
- 时间戳。callback
- 清除是否成功的回调。public long getSendTimeByMessageId(int messageId)
Message.sentTime
messageId
- 指定的 messageIdpublic void getNotificationQuietHours(RongIMClient.GetNotificationQuietHoursCallback callback)
callback
- 消息通知免打扰时间回调。@Deprecated public void syncUserData(UserData userData, RongIMClient.OperationCallback callback)
userData
- 用户信息。callback
- 设置用户信息回调。public void getMessageByUid(java.lang.String uid, RongIMClient.ResultCallback<Message> callback)
uid
- 发送 message 成功后,服务器会给每个 message 分配一个唯一 uidcallback
- 获取消息的回调public void switchAppKey(java.lang.String appKey)
切换 appKey. 当一个应用对应多个环境, 即多个 appKey 时, 调用此方法实现融云 SDK 热切换。
注意: 调用此方法后, 还需要再次调用{RongIMClient#init(Context, String)} 和connect(String, ConnectCallback)
,传入新 appKey 对应的 token, 重新初始化和连接。appKey
- 应用的另一个 appKey.public io.rong.imlib.location.RealTimeLocationConstant.RealTimeLocationErrorCode getRealTimeLocation(Conversation.ConversationType conversationType, java.lang.String targetId)
conversationType
- 发起位置共享的所在会话的会话类型。targetId
- 发起位置共享的 target id。public io.rong.imlib.location.RealTimeLocationConstant.RealTimeLocationErrorCode startRealTimeLocation(Conversation.ConversationType conversationType, java.lang.String targetId)
conversationType
- 发起位置共享的会话类型。targetId
- 发起位置共享的 targetId。RealTimeLocationConstant.RealTimeLocationErrorCode
public io.rong.imlib.location.RealTimeLocationConstant.RealTimeLocationErrorCode joinRealTimeLocation(Conversation.ConversationType conversationType, java.lang.String targetId)
conversationType
- 位置共享的会话类型。targetId
- 位置共享的 targetId。RealTimeLocationConstant.RealTimeLocationErrorCode
public void quitRealTimeLocation(Conversation.ConversationType conversationType, java.lang.String targetId)
conversationType
- 位置共享的会话类型。targetId
- 位置共享的 targetId。public java.util.List<java.lang.String> getRealTimeLocationParticipants(Conversation.ConversationType conversationType, java.lang.String targetId)
conversationType
- 位置共享的会话类型。targetId
- 位置共享的 targetId。public io.rong.imlib.location.RealTimeLocationConstant.RealTimeLocationStatus getRealTimeLocationCurrentState(Conversation.ConversationType conversationType, java.lang.String targetId)
conversationType
- 位置共享的会话类型。targetId
- 位置共享的 targetId。public void addRealTimeLocationListener(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.RealTimeLocationListener listener)
conversationType
- 位置共享的会话类型。targetId
- 位置共享的 targetId。listener
- 位置共享监听。public void removeRealTimeLocationObserver(Conversation.ConversationType conversationType, java.lang.String targetId)
@Deprecated public void updateRealTimeLocationStatus(Conversation.ConversationType conversationType, java.lang.String targetId, double latitude, double longitude)
conversationType
- 位置共享的会话类型。targetId
- 位置共享的会话 targetId。latitude
- 维度longitude
- 经度public void updateRealTimeLocationStatus(Conversation.ConversationType conversationType, java.lang.String targetId, double latitude, double longitude, RealTimeLocationType realTimeLocationType)
conversationType
- 位置共享的会话类型。targetId
- 位置共享的会话 targetId。latitude
- 维度longitude
- 经度realTimeLocationType
- 实时共享位置类型public java.util.Collection<TypingStatus> getTypingUserListFromConversation(Conversation.ConversationType conversationType, java.lang.String targetId)
conversationType
- 会话类型targetId
- 会话idpublic void sendTypingStatus(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String typingContentType)
conversationType
- 会话类型targetId
- 会话idtypingContentType
- 正在输入的消息的类型名
typingContentType为用户当前正在编辑的消息类型名,即message中getObjectName的返回值。
如文本消息,应该传类型名"RC:TxtMsg"。
目前只支持单聊public static void setTypingStatusListener(RongIMClient.TypingStatusListener listener)
RongIMClient.TypingStatusListener.onTypingStatusChanged(Conversation.ConversationType, String, Collection)
对于单聊而言,当对方正在输入时,监听会触发一次;当对方不处于输入状态时,该监听还会触发一次,但是回调里上来的输入用户列表为空listener
- 输入状态监听器public static void setRCLogInfoListener(RongIMClient.RCLogInfoListener listener)
listener
- Log 输出监听器@Deprecated public void writeLogFile(java.lang.String msg)
@Deprecated public void writeDebugFile(java.lang.String msg)
public void sendReadReceiptMessage(Conversation.ConversationType conversationType, java.lang.String targetId, long timestamp)
conversationType
- 会话类型targetId
- 目标会话IDtimestamp
- 该会话中已读的最后一条消息的发送时间戳Message.getSentTime()
如果使用Lib可以注册监听setReadReceiptListener ,使用kit直接设置rc_config.xml中rc_read_receipt为truepublic void sendReadReceiptMessage(Conversation.ConversationType conversationType, java.lang.String targetId, long timestamp, IRongCallback.ISendMessageCallback callback)
conversationType
- 会话类型targetId
- 目标会话IDtimestamp
- 该会话中已读的最后一条消息的发送时间戳Message.getSentTime()
如果使用Lib可以注册监听setReadReceiptListener ,使用kit直接设置 rc_config.xml 中 rc_read_receipt 为 truecallback
- 发送已读回执消息的回调public static void setReadReceiptListener(RongIMClient.ReadReceiptListener listener)
RongIMClient.ReadReceiptListener.onReadReceiptReceived(io.rong.imlib.model.Message)
listener
- 消息回执监听器public void setOnReceiveDestructionMessageListener(RongIMClient.OnReceiveDestructionMessageListener listener)
public void startCustomService(java.lang.String kefuId, ICustomServiceListener listener, CSCustomServiceInfo customServiceInfo)
启动客服服务
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服Idlistener
- 客服监听,监听客服的状态 io.rong.imlib.ICustomServiceListener
启动客服没有回调,启动后的客服状态需要在此监听中处理.customServiceInfo
- 客服用户信息,包括用户基本信息,用户联系信息以及请求信息
其中 nickName 不能为空, 如果为空,则上传当前用户userId
CSCustomServiceInfo
public void selectCustomServiceGroup(java.lang.String kefuId, java.lang.String groupId)
kefuId
- 客服IDgroupId
- 分组IDpublic void switchToHumanMode(java.lang.String kefuId)
切换到人工客服模式,切换的结果需要在 ICustomServiceListener#onModeChanged(CustomServiceMode)
方法回调中处理
ICustomServiceListener#onSelectGroup(List)
中去弹出分组选择窗口并选择分组,之后在这个回调中调用 @seeselectCustomServiceGroup(String, String)
根据客服 Id 和 分组 Id 去切换到人工模式
客服模式 分为无服务,机器人模式,人工模式,机器人优先模式,人工优先模式
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服Id
CustomServiceMode
public void evaluateCustomService(java.lang.String kefuId, boolean isRobotResolved, java.lang.String knowledgeId)
当建立客服连接时,返回的 CustomServiceConfig.CSEvaType
为 CSEvaType.EVA_SEPARATELY, 即人工机器人分开评价时,调用此方法对机器人客服进行评价
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服IdisRobotResolved
- robot 客服是否解决了您的问题. true 表示解决 ,false 表示未解决knowledgeId
- 机器人评价的消息id,同时满足以下4个条件,此参数有效,其余情况可以传空字符串.
当参数有效时, 取出4中描述的 “sid” 对应的值就是需要传入的knowledgeId,
1.机器人模式
2.新收到的消息,不是从数据库中加载的历史消息
3.CustomServiceConfig 的 robotSessionNoEva 为true @see CustomServiceConfig
这个CustomServiceConfig 是客服启动成功后的回调onSuccess()带回的参数 @see io.rong.imlib.ICustomServiceListener
4.MessageContent 的 Extra 中有“robotEva”和“sid”两个字段.
public void evaluateCustomService(java.lang.String kefuId, int source, java.lang.String suggest, java.lang.String dialogId)
当建立客服连接时,返回的 CustomServiceConfig.CSEvaType
为 CSEvaType.EVA_SEPARATELY, 即人工机器人分开评价时,调用此方法对人工客服进行评价
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服Idsource
- 星级,范围 1-5,5为最高,1为最低suggest
- 客户的针对人工客服的意见和建议dialogId
- 会话 Id. 客服后台主动拉评价的时候这个参数有效,其余情况传空字符串即可.
客服主动拉评价的时候, 会走 ICustomServiceListener 的 onPullEvaluation 回调,并带回 dialogId
io.rong.imlib.ICustomServiceListener
public void evaluateCustomService(java.lang.String kefuId, int source, CustomServiceConfig.CSEvaSolveStatus resolvestatus, java.lang.String tagText, java.lang.String suggest, java.lang.String dialogId, java.lang.String extra)
当建立客服连接时,返回的 CustomServiceConfig.CSEvaType
为 CSEvaType.EVA_SEPARATELY, 即人工机器人分开评价时,调用此方法对人工客服进行评价
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服Idsource
- 星级,范围 1-5,5为最高,1为最低resolvestatus
- 解决状态 CustomServiceConfig.CSEvaSolveStatus
tagText
- 5星以下标签,以","分隔suggest
- 客户的针对人工客服的意见和建议dialogId
- 会话 Id. 客服后台主动拉评价的时候这个参数有效,其余情况传空字符串即可.
客服主动拉评价的时候, 会走 ICustomServiceListener 的 onPullEvaluation 回调,并带回 dialogId
io.rong.imlib.ICustomServiceListener
extra
- 预留扩展字段,可以传 nullpublic void evaluateCustomService(java.lang.String kefuId, int source, CustomServiceConfig.CSEvaSolveStatus solveStatus, java.lang.String suggest, java.lang.String dialogId)
当建立客服连接时,返回的 CustomServiceConfig.CSEvaType
为 CSEvaType.EVA_UNIFIED, 即人工机器人统一评价时,调用此方法进行评价。
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服Idsource
- 星级,范围 1-5,5为最高,1为最低solveStatus
- 问题解决状态 CustomServiceConfig.CSEvaSolveStatus
.如果没有解决状态,此处可以任意传值,SDK不做处理suggest
- 客户的针对人工客服的意见和建议dialogId
- 会话 Id. 客服后台主动拉评价的时候这个参数有效,其余情况传空字符串即可.
客服主动拉评价的时候, 会走 ICustomServiceListener 的 onPullEvaluation 回调,并带回 dialogId
io.rong.imlib.ICustomServiceListener
public void leaveMessageCustomService(java.lang.String kefuId, java.util.Map<java.lang.String,java.lang.String> contentMap, RongIMClient.OperationCallback operationCallback)
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服IdcontentMap
- 留言内容。该 map 的 key 是{ CSLMessageItem#getName()}的值, {CSLMessageItem}是在启动客服时通过{CustomServiceConfig#leaveMessageNativeInfo}根据客服后台的留言配置返回的信息。operationCallback
- 留言是否成功的回调。public void stopCustomService(java.lang.String kefuId)
结束客服. 调用此方法后,将向客服发起结束请求
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服Idpublic void setCustomServiceHumanEvaluateListener(CustomServiceManager.OnHumanEvaluateListener listener)
listener
- public static void setServerInfo(java.lang.String naviServer, java.lang.String fileServer)
naviServer
- 私有部署的导航服务器地址。fileServer
- 私有部署的媒体服务器地址,即文件和图片的上传地址。使用私有云时必须填写。public static void setStatisticDomain(java.lang.String domain)
设置数据上传服务器地址。 可以支持设置 http://cn.xxx.com 或者 https://cn.xxx.com 或者 cn.xxx.com 如果设置成 cn.xxx.com,sdk 会组装成并仅支持 http:// 协议格式。
domain
- 域名public void recallMessage(Message message, java.lang.String pushContent, RongIMClient.ResultCallback<RecallNotificationMessage> callback)
message
- 将被撤回的消息pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。callback
- onSuccess里回调RecallNotificationMessage
,IMLib 已经被撤回的消息需用RecallNotificationMessage
替换,
用户需要在界面上对RecallNotificationMessage
进行展示。public void getUnreadMentionedMessages(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<java.util.List<Message>> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 获取未读@消息的回调。回调里返回的消息列表,按照时间顺序从旧到新。@Deprecated public static void setRecallMessageListener(RongIMClient.RecallMessageListener listener)
已废弃,请使用setOnRecallMessageListener
listener
- 撤回消息监听器public static void setOnRecallMessageListener(RongIMClient.OnRecallMessageListener listener)
listener
- 撤回消息监听器public void sendMediaMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMediaMessageCallback callback)
发送多媒体消息
发送前构造 Message
消息实体
message
- 发送消息的实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调 RongIMClient.SendMediaMessageCallback
。public void sendDirectionalMediaMessage(Message message, java.lang.String[] userIds, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMediaMessageCallback callback)
发送定向多媒体消息
向会话中特定的某些用户发送消息,会话中其他用户将不会收到此消息。发送前构造 Message
消息实体,消息实体中的 content 必须为多媒体消息
如 ImageMessage
FileMessage
或其他继承自 MediaMessageContent
的消息
message
- 发送消息的实体。userIds
- 定向接收者 id 数组pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调 RongIMClient.SendMediaMessageCallback
。public void sendMediaMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMediaMessageCallbackWithUploader callback)
发送多媒体消息,可以使用该方法将多媒体文件上传到自己的服务器。
使用该方法在上传多媒体文件时,会回调 IRongCallback.ISendMediaMessageCallbackWithUploader.onAttached(Message, IRongCallback.MediaMessageUploader)
此回调中会携带 IRongCallback.MediaMessageUploader
对象,使用者只需要调用此对象中的
IRongCallback.MediaMessageUploader.update(int)
更新进度
{IRongCallback.MediaMessageUploader#success(Uri)} 更新成功状态,并告知上传成功后的文件地址
IRongCallback.MediaMessageUploader.error()
更新失败状态
IRongCallback.MediaMessageUploader.cancel()
()} 更新取消状态
message
- 发送消息的实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg, RC:FileMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调,回调中携带 IRongCallback.MediaMessageUploader
对象,用户调用该对象中的方法更新状态。public void sendReadReceiptRequest(Message message, RongIMClient.OperationCallback callback)
message
- 需要请求回执的那条消息callback
- 回调函数public void sendReadReceiptResponse(Conversation.ConversationType type, java.lang.String targetId, java.util.List<Message> messageList, RongIMClient.OperationCallback callback)
type
- 会话类型targetId
- 会话 idmessageList
- 会话中需要发送回执的消息列表callback
- 回调函数public void syncConversationReadStatus(Conversation.ConversationType type, java.lang.String targetId, long timestamp, RongIMClient.OperationCallback callback)
type
- 会话类型targetId
- 目标会话IDtimestamp
- 该会话中已读的最后一条消息的发送时间戳Message.getSentTime()
callback
- 回调函数public void setSyncConversationReadStatusListener(RongIMClient.SyncConversationReadStatusListener listener)
listener
- 监听器public void searchConversations(java.lang.String keyword, Conversation.ConversationType[] conversationTypes, java.lang.String[] objectNames, RongIMClient.ResultCallback<java.util.List<SearchConversationResult>> resultCallback)
MessageContent.getSearchableWord()
方法;keyword
- 搜索的关键字。conversationTypes
- 搜索的会话类型。objectNames
- 搜索的消息类型,例如:RC:TxtMsg。resultCallback
- 搜索结果回调。public void searchMessages(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String keyword, int count, long beginTime, RongIMClient.ResultCallback<java.util.List<Message>> resultCallback)
MessageContent.getSearchableWord()
方法;conversationType
- 指定的会话类型。targetId
- 指定的会话 id。keyword
- 搜索的关键字。count
- 返回的搜索结果数量, 传0时会返回所有搜索到的消息, 非0时,逐页返回。beginTime
- 查询记录的起始时间, 传0时从最新消息开始搜索。从该时间往前搜索。resultCallback
- 搜索结果回调。public void searchMessagesByUser(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String userId, int count, long beginTime, RongIMClient.ResultCallback<java.util.List<Message>> resultCallback)
MessageContent.getSearchableWord()
方法;conversationType
- 指定的会话类型, 目前只支持群组。targetId
- 指定的会话 id。userId
- 用户 id。count
- 返回的搜索结果数量, count 大于 0 小于等于 100。如果 count 大于 100,则最大返回 100beginTime
- 查询记录的起始时间, 传0时从最新消息开始搜索。从该时间往前搜索。resultCallback
- 搜索结果回调。public void getHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, long sentTime, int before, int after, RongIMClient.ResultCallback<java.util.List<Message>> resultCallback)
conversationType
- 指定的会话类型。targetId
- 指定的会话 id。sentTime
- 指定消息的发送时间,不能为0。before
- 指定消息的前部分消息数量。after
- 指定消息的后部分消息数量。resultCallback
- 搜索结果回调。public void getVendorToken(RongIMClient.ResultCallback<java.lang.String> resultCallback)
resultCallback
- 请求回调。public void setPushLanguage(RongIMClient.PushLanguage language, RongIMClient.OperationCallback callback)
此功能需要从服务端开启用户设置功能
language
- { PushLanguage}callback
- public void setPushContentShowStatus(boolean showStatus, RongIMClient.OperationCallback callback)
此功能需要从服务端开启用户设置功能
showStatus
- 是否显示 Push 内容, true:显示 , false:不显示callback
- 回调public void setPushReceiveStatus(boolean receiveStatus, RongIMClient.OperationCallback callback)
此功能需要从服务端开启用户设置功能
receiveStatus
- 是否接收 Push, true: 接收, false: 不接收callback
- 回调public void getPushLanguage(RongIMClient.ResultCallback<RongIMClient.PushLanguage> callback)
callback
- { PushLanguage}public void getPushContentShowStatus(RongIMClient.ResultCallback<java.lang.Boolean> callback)
callback
- true:显示 Push 内容详情, false:不显示内容详情public void getPushReceiveStatus(RongIMClient.ResultCallback<java.lang.Boolean> callback)
callback
- true: 接收Push false:不接收 Pushpublic void getOfflineMessageDuration(RongIMClient.ResultCallback<java.lang.String> callback)
callback
- public void setOfflineMessageDuration(int duration, RongIMClient.ResultCallback<java.lang.Long> callback)
离线消息补偿时间是指某用户离线后,在下次登录时,服务端下发的离线消息对应的时间段。比如某应用的离线消息补偿时间是 2 天,用户离线 3 天,在第 4 天登录的时候, 服务端只会主动下发该用户第 2 天和第 3 天对应的离线消息;第 1 天的离线消息不会下发。
该功能首先需要客户提工单,在服务端开通此功能后,客户端调用该方法才生效
duration
- 离线消息补偿时间,参数取值范围为int值1~7天。callback
- public void setAppVer(java.lang.String appVer)
appVer
- 用户的版本信息。public void supportResumeBrokenTransfer(java.lang.String url, RongIMClient.ResultCallback<java.lang.Boolean> callback)
url
- Urlcallback
- 回调public void getTheFirstUnreadMessage(Conversation.ConversationType conversationType, java.lang.String targetId, RongIMClient.ResultCallback<Message> callback)
conversationType
- 会话类型targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。callback
- 回调public boolean isFileDownloading(int messageId)
messageId
- 消息 idpublic boolean isFileDownloading(java.lang.String uid)
uid
- 文件 uid,文件的唯一识别标志public void setMessageReadTime(long messageId, long timestamp, RongIMClient.OperationCallback callback)
messageId
- timestamp
- callback
- public void startEncryptedSession(java.lang.String targetId)
targetId
- 会话对方的userIdpublic void quitEncryptedSession(java.lang.String targetId)
targetId
- encId + ;;; + 对方UserId ,即存储 encConversation 的标识。public boolean clearEncryptedConversations()
public int getEncryptedSessionStatus(java.lang.String targetId)
targetId
- encId + ;;; + 对方UserId ,即存储 encConversation 的标识。public java.util.List<RCEncryptedSession> getAllEncryptedConversations()
public int getVideoLimitTime()
public void setReconnectKickEnable(boolean enable)
该功能首先需要客户提工单,在服务端开通此功能后,客户端调用该方法才生效
enable
- 是否踢出重连设备public void enableHttpsSelfCertificate(boolean isEnable)
此方法需要在 {#init(Context)}之前调用。
如果不调用此方法, SDK 连接时会按默认证书处理
isEnable
- 是否使用自签证书。true 使用自签证书;false, 使用默认证书。public void setPushNotificationListener(PushNotificationListener listener)
listener
- 消息是否显示详情监听public void appOnStart()
该方法必须在 {#init(Context)} 之后调用
Copyright © 2020 RongCloud. All Rights Reserved.