public class RongIM
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
static interface |
RongIM.AsyncInitListener
异步初始化 SDK 时,回调初始化前后的事件。
|
static interface |
RongIM.ConversationBehaviorListener
已过时。
此监听废弃,部分回调无法获得 targetId
请使用
RongIM.ConversationClickListener |
static interface |
RongIM.ConversationClickListener
会话界面操作的监听器。
|
static interface |
RongIM.ConversationListBehaviorListener
会话列表界面操作的监听器。
|
static interface |
RongIM.GroupInfoProvider
群组信息的提供者。
|
static interface |
RongIM.GroupUserInfoProvider
GroupUserInfo提供者。
|
static interface |
RongIM.IGroupMemberCallback |
static interface |
RongIM.IGroupMembersProvider |
static interface |
RongIM.LocationProvider
位置信息的提供者,实现后获取用户位置信息。
|
static interface |
RongIM.MessageInterceptor
接收消息的拦截器
|
static interface |
RongIM.OnReceiveUnreadCountChangedListener
接收未读消息的监听器。
|
static interface |
RongIM.OnSelectMemberListener
启动好友选择界面的监听器
|
static interface |
RongIM.OnSendMessageListener
获取自己发出的消息监听器。
|
static interface |
RongIM.PublicServiceBehaviorListener
公众号界面操作的监听器
|
static interface |
RongIM.PublicServiceProfileProvider
PublicServiceProfile提供者。
|
static interface |
RongIM.RequestPermissionsListener
已过时。
|
static class |
RongIM.SamplingRate
语音消息采样率
|
static class |
RongIM.SentMessageErrorCode
发出的消息错误码。
|
static interface |
RongIM.UserInfoProvider
用户信息的提供者。
|
static class |
RongIM.VoiceMessageType
语音消息类型
|
限定符和类型 | 字段和说明 |
---|---|
static int |
ON_CANCEL_CALLBACK |
static int |
ON_ERROR_CALLBACK |
static int |
ON_PROGRESS_CALLBACK |
static int |
ON_SUCCESS_CALLBACK |
限定符和类型 | 方法和说明 |
---|---|
void |
addMemberToDiscussion(java.lang.String discussionId,
java.util.List<java.lang.String> userIdList,
RongIMClient.OperationCallback callback)
添加一名或者一组用户加入讨论组。
|
void |
addToBlacklist(java.lang.String userId,
RongIMClient.OperationCallback callback)
将某个用户加到黑名单中。
|
void |
addUnReadMessageCountChangedObserver(IUnReadMessageObserver observer,
Conversation.ConversationType... conversationTypes)
设置未读消息数变化监听器。
|
void |
cancelDownloadMediaMessage(Message message,
RongIMClient.OperationCallback callback)
取消下载多媒体文件。
|
void |
cancelSendMediaMessage(Message message,
RongIMClient.OperationCallback callback)
取消发送多媒体文件。
|
void |
clearConversations(RongIMClient.ResultCallback callback,
Conversation.ConversationType... conversationTypes)
清空所有会话及会话消息,回调方式通知是否清空成功。
|
void |
clearEncryptedConversations()
退出所有加密会话
|
void |
clearMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
根据会话类型,清空某一会话的所有聊天消息记录,回调方式获取清空是否成功。
|
void |
clearMessagesUnreadStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
根据会话类型,清除目标 Id 的消息未读状态,回调方式获取清除是否成功。
|
void |
clearTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
清除某一会话的文字消息草稿,回调方式获取清除是否成功。
|
static RongIM |
connect(java.lang.String token,
int timeLimit,
RongIMClient.ConnectCallback connectCallback)
连接服务器,在整个应用程序全局,只需要调用一次。
|
static RongIM |
connect(java.lang.String token,
RongIMClient.ConnectCallback connectCallback)
连接服务器,在整个应用程序全局,只需要调用一次。
|
void |
createDiscussion(java.lang.String name,
java.util.List<java.lang.String> userIdList,
RongIMClient.CreateDiscussionCallback callback)
创建讨论组。
|
void |
createDiscussionChat(android.content.Context context,
java.util.List<java.lang.String> targetUserIds,
java.lang.String title)
创建讨论组会话并进入会话界面。
|
void |
createDiscussionChat(android.content.Context context,
java.util.List<java.lang.String> targetUserIds,
java.lang.String title,
RongIMClient.CreateDiscussionCallback callback)
创建讨论组会话并进入会话界面。
|
void |
deleteMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
清除指定会话的消息。
|
void |
deleteMessages(int[] messageIds,
<any> callback)
删除指定的一条或者一组消息,回调方式获取是否删除成功。
|
void |
deleteRemoteMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
Message[] messages,
RongIMClient.OperationCallback callback)
删除指定的一条或者一组消息。
|
void |
disconnect()
断开连接(断开后继续接收 Push 消息)。
|
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 |
downloadMedia(java.lang.String imageUrl,
RongIMClient.DownloadMediaCallback callback)
下载文件。
|
void |
downloadMediaFile(java.lang.String uid,
java.lang.String fileUrl,
java.lang.String fileName,
java.lang.String path,
IRongCallback.IDownloadMediaFileCallback callback)
下载文件
支持断点续传
|
void |
downloadMediaMessage(Message message,
IRongCallback.IDownloadMediaMessageCallback callback)
下载文件。
|
void |
enableNewComingMessageIcon(boolean state)
设置会话界面未读新消息是否展示 注:未读新消息大于1条即展示
|
void |
enableUnreadMessageIcon(boolean state)
设置会话界面历史消息是否展示 注:历史消息大于10条即展示
|
java.util.List<RCEncryptedSession> |
getAllEncryptedConversations()
获取所有加密会话
|
android.content.Context |
getApplicationContext() |
void |
getBlacklist(RongIMClient.GetBlacklistCallback callback)
获取当前用户的黑名单列表。
|
void |
getBlacklistStatus(java.lang.String userId,
<any> callback)
获取某用户是否在黑名单中。
|
void |
getConversation(Conversation.ConversationType type,
java.lang.String targetId,
<any> callback)
根据不同会话类型的目标Id,回调方式获取某一会话信息。
|
void |
getConversationList(<any> callback)
获取会话列表。
|
void |
getConversationList(<any> callback,
Conversation.ConversationType... types)
根据会话类型,回调方式获取会话列表。
|
void |
getConversationNotificationStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
获取会话消息提醒状态。
|
RongIMClient.ConnectionStatusListener.ConnectionStatus |
getCurrentConnectionStatus()
获取连接状态。
|
java.lang.String |
getCurrentUserId()
获取当前连接用户的信息。
|
long |
getDeltaTime()
获取本地时间与服务器时间的差值。
|
void |
getDiscussion(java.lang.String discussionId,
<any> callback)
获取讨论组信息和设置。
|
int |
getEncryptedSessionStatus(android.content.Context context,
java.lang.String targetId)
获取私密会话状态
|
java.util.List<Message> |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
int oldestMessageId,
int count)
已过时。
此方法废弃,请使用
#getHistoryMessages(Conversation.ConversationType, String, int, int, RongIMClient.ResultCallback) 。 |
void |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
int oldestMessageId,
int count,
<any> callback)
根据会话类型的目标 Id,回调方式获取N条历史消息记录。
|
java.util.List<Message> |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String objectName,
int oldestMessageId,
int count)
已过时。
此方法废弃,请使用
#getHistoryMessages(Conversation.ConversationType, String, String, int, int, RongIMClient.ResultCallback) 。 |
void |
getHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String objectName,
int oldestMessageId,
int count,
<any> callback)
根据会话类型的目标 Id,回调方式获取某消息类型标识的N条历史消息记录。
|
static RongIM |
getInstance()
获取 IMKit RongIM 实例,需在执行 init 方法初始化 SDK 后获取否则返回值为 NULL。
|
void |
getLatestMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
int count,
<any> callback)
根据会话类型的目标 Id,回调方式获取最新的 N 条消息记录。
|
void |
getNotificationQuietHours(RongIMClient.GetNotificationQuietHoursCallback callback)
获取会话通知免打扰时间。
|
void |
getPublicServiceList(<any> callback)
获取己关注公共账号列表。
|
void |
getPublicServiceProfile(Conversation.PublicServiceType publicServiceType,
java.lang.String publicServiceId,
<any> callback)
获取公众服务信息。
|
void |
getRemoteHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
long dataTime,
int count,
<any> callback)
根据会话类型和目标 Id,获取 N 条远端历史消息记录。
|
void |
getRemoteHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
RemoteHistoryMsgOption remoteHistoryMsgOption,
<any> callback)
根据会话类型和目标 Id,拉取某时间戳之前或之后的 N 条远端历史消息记录。
|
int |
getSamplingRate()
语音消息采样率
|
void |
getTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
根据会话类型,获取某一会话的文字消息草稿。
|
void |
getTotalUnreadCount(<any> callback)
通过回调方式,获取所有未读消息数。
|
void |
getUnreadCount(<any> callback,
Conversation.ConversationType... conversationTypes)
回调方式获取某会话类型的未读消息数。
|
void |
getUnreadCount(Conversation.ConversationType[] conversationTypes,
<any> callback)
根据会话类型数组,回调方式获取某会话类型的未读消息数。
|
void |
getUnreadCount(Conversation.ConversationType[] conversationTypes,
boolean containBlocked,
<any> callback)
回调方式获取某会话类型的未读消息数。
|
void |
getUnreadCount(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
根据会话类型的目标 Id,回调方式获取来自某用户(某会话)的未读消息数。
|
RongIM.VoiceMessageType |
getVoiceMessageType()
语音消息类型
|
static void |
init(android.app.Application application,
java.lang.String appKey)
初始化 SDK,在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。
|
static void |
init(android.content.Context context)
初始化 SDK,在整个应用程序全局,只需要调用一次。
|
static void |
init(android.content.Context context,
java.lang.String appKey)
初始化 SDK,在整个应用程序全局,只需要调用一次。
|
static void |
init(android.content.Context context,
java.lang.String appKey,
boolean enablePush)
初始化 SDK,在整个应用程序全局只需要调用一次, 建议在 Application 继承类中调用。
|
static void |
initAsync(android.content.Context context,
java.lang.String appKey,
boolean enablePush,
RongIM.AsyncInitListener asyncInitListener)
异步初始化 SDK,在整个应用程序全局,只需要调用一次。
|
void |
insertIncomingMessage(Conversation.ConversationType type,
java.lang.String targetId,
java.lang.String senderUserId,
Message.ReceivedStatus receivedStatus,
MessageContent content,
<any> callback)
向本地会话中插入一条消息,方向为接收。
|
void |
insertIncomingMessage(Conversation.ConversationType type,
java.lang.String targetId,
java.lang.String senderUserId,
Message.ReceivedStatus receivedStatus,
MessageContent content,
long sentTime,
<any> callback)
向本地会话中插入一条消息,方向为接收。
|
void |
insertOutgoingMessage(Conversation.ConversationType type,
java.lang.String targetId,
Message.SentStatus sentStatus,
MessageContent content,
<any> callback)
向本地会话中插入一条消息,方向为发送。
|
void |
insertOutgoingMessage(Conversation.ConversationType type,
java.lang.String targetId,
Message.SentStatus sentStatus,
MessageContent content,
long sentTime,
<any> callback)
向本地会话中插入一条消息,方向为发送。
|
boolean |
isNotificationQuiteHoursConfigured() |
boolean |
isRegisted(RongIMClient.EncryptedSessionConnectionListener listener)
判断listener是否被注册
|
void |
joinChatRoom(java.lang.String chatroomId,
int defMessageCount,
RongIMClient.OperationCallback callback)
加入聊天室。
|
void |
joinExistChatRoom(java.lang.String chatroomId,
int defMessageCount,
RongIMClient.OperationCallback callback)
加入已存在的聊天室。
|
void |
logout()
注销当前登录,执行该方法后不会再收到 push 消息。
|
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)
退出当前用户所在的某讨论组。
|
void |
quitEncryptedSession(java.lang.String targetId)
删除加密会话
|
void |
recallMessage(Message message,
java.lang.String pushContent)
撤回消息
|
void |
recordNotificationEvent(java.lang.String pushId)
记录在开发者后台使用后台推送功能时,对应的推送通知的点击事件。
|
void |
refreshDiscussionCache(Discussion discussion)
刷新讨论组缓存数据,可用于讨论组修改名称后刷新讨论组内其他人员的缓存数据。
|
void |
refreshGroupInfoCache(Group group)
刷新群组缓存数据。
|
void |
refreshGroupUserInfoCache(GroupUserInfo groupUserInfo)
刷新、更改群组用户缓存数据。
|
void |
refreshPublicServiceProfile(PublicServiceProfile publicServiceProfile)
刷新公众服务账号缓存数据。
|
void |
refreshUserInfoCache(UserInfo userInfo)
刷新用户缓存数据。
|
void |
registerConversationTemplate(IContainerItemProvider.ConversationProvider provider)
注册会话列表消息模板提供者。
|
void |
registerEncSessionListener(RongIMClient.EncryptedSessionConnectionListener listener)
注册listener
|
static void |
registerMessageTemplate(IContainerItemProvider.MessageProvider provider)
注册消息模板。
|
static void |
registerMessageType(java.lang.Class<? extends MessageContent> messageContentClass)
注册消息类型,如果不对消息类型进行扩展,可以忽略此方法。
|
void |
removeConversation(Conversation.ConversationType type,
java.lang.String targetId,
<any> 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 |
removeUnReadMessageCountChangedObserver(IUnReadMessageObserver observer)
注销已注册的未读消息数变化监听器。
|
void |
saveTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String content,
<any> callback)
保存文字消息草稿,回调方式获取保存是否成功。
|
void |
searchPublicService(RongIMClient.SearchType searchType,
java.lang.String keywords,
<any> callback)
搜索公众服务。
|
void |
searchPublicServiceByType(Conversation.PublicServiceType publicServiceType,
RongIMClient.SearchType searchType,
java.lang.String keywords,
<any> callback)
按公众服务类型搜索公众服务。
|
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,
boolean filter,
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 消息实体,消息实体中的 content 必须为 FileMessage , 否则返回失败。 |
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)
根据会话类型,发送消息。
|
void |
sendMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
IRongCallback.ISendMessageCallback callback)
发送消息。
|
void |
sendMessage(Message message,
java.lang.String pushContent,
java.lang.String pushData,
SendMessageOption option,
IRongCallback.ISendMessageCallback callback)
发送消息。
|
static void |
setConnectionStatusListener(RongIMClient.ConnectionStatusListener listener)
设置连接状态变化的监听器。
|
static void |
setConversationBehaviorListener(RongIM.ConversationBehaviorListener listener)
|
static void |
setConversationClickListener(RongIM.ConversationClickListener listener)
设置会话界面操作的监听器。
|
static void |
setConversationListBehaviorListener(RongIM.ConversationListBehaviorListener listener)
设置会话列表界面操作的监听器。
|
void |
setConversationNotificationStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
Conversation.ConversationNotificationStatus notificationStatus,
<any> callback)
设置会话消息提醒状态。
|
void |
setConversationToTop(Conversation.ConversationType type,
java.lang.String id,
boolean isTop,
<any> callback)
设置某一会话为置顶或者取消置顶,回调方式获取设置是否成功。
|
void |
setConversationToTop(Conversation.ConversationType type,
java.lang.String id,
boolean isTop,
boolean needCreate,
<any> callback)
设置某一会话为置顶或者取消置顶,回调方式获取设置是否成功。
|
void |
setCurrentUserInfo(UserInfo userInfo)
设置当前用户信息。
|
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)
设置讨论组名称。
|
static void |
setGroupInfoProvider(RongIM.GroupInfoProvider groupInfoProvider,
boolean isCacheGroupInfo)
设置群组信息的提供者。
|
void |
setGroupMembersProvider(RongIM.IGroupMembersProvider groupMembersProvider)
设置群组成员提供者。
|
static void |
setGroupUserInfoProvider(RongIM.GroupUserInfoProvider userInfoProvider,
boolean isCacheUserInfo)
设置GroupUserInfo提供者,供RongIM 调用获取GroupUserInfo
可以使用此方法,修改群组中用户昵称
设置后,当 sdk 界面展示用户信息时,会回调
RongIM.GroupUserInfoProvider.getGroupUserInfo(String, String)
使用者只需要根据对应的 groupId, userId 提供对应的用户信息 GroupUserInfo 。 |
static void |
setLocationProvider(RongIM.LocationProvider locationProvider)
设置位置信息的提供者。
|
void |
setMaxVoiceDurationg(int sec)
设置语音消息的最大长度
|
void |
setMessageAttachedUserInfo(boolean state)
设置消息体内是否携带用户信息。
|
void |
setMessageExtra(int messageId,
java.lang.String value,
<any> callback)
设置消息的附加信息,此信息只保存在本地,回调方式获取设置是否成功。
|
void |
setMessageInterceptor(RongIM.MessageInterceptor messageInterceptor)
设置接收消息时的拦截器
|
void |
setMessageReceivedStatus(int messageId,
Message.ReceivedStatus receivedStatus,
<any> callback)
根据消息 Id,设置接收到的消息状态,回调方式获取设置是否成功。
|
void |
setMessageSentStatus(Message message,
<any> callback)
根据消息 Message 设置消息状态,回调方式获取设置是否成功。
|
void |
setNotificationQuietHours(java.lang.String startTime,
int spanMinutes,
RongIMClient.OperationCallback callback)
设置会话通知免打扰时间。
|
void |
setNotificationQuiteHoursConfigured(boolean notificationQuiteHoursConfigured)
已过时。
此方法废弃。
|
static void |
setOnReceiveMessageListener(RongIMClient.OnReceiveMessageListener listener)
设置接收消息的监听器。
|
void |
setOnReceiveUnreadCountChangedListener(RongIM.OnReceiveUnreadCountChangedListener listener,
Conversation.ConversationType... conversationTypes)
|
static void |
setPublicServiceBehaviorListener(RongIM.PublicServiceBehaviorListener listener)
设置公众号界面操作的监听器。
|
void |
setPublicServiceMenuClickListener(IPublicServiceMenuClickListener menuClickListener)
设置公众服务菜单点击监听。
|
static void |
setPublicServiceProfileProvider(RongIM.PublicServiceProfileProvider publicServiceProfileProvider)
设置公众服务账号信息的提供者,供 RongIM 调用获公众服务账号名称,头像信息和公众服务号菜单。
|
void |
setReadReceiptConversationTypeList(Conversation.ConversationType... types)
设置发送消息回执的会话类型。
|
void |
setRequestPermissionListener(RongIM.RequestPermissionsListener listener)
已过时。
|
void |
setSamplingRate(RongIM.SamplingRate sampleRate)
设置语音消息采样率
|
void |
setSendMessageListener(RongIM.OnSendMessageListener listener)
设置发送消息的监听。
|
static void |
setServerInfo(java.lang.String naviServer,
java.lang.String fileServer)
设置私有部署的导航服务器和媒体服务器地址。
|
static void |
setStatisticDomain(java.lang.String domain)
设置数据上传服务器地址。
|
static void |
setUserInfoProvider(RongIM.UserInfoProvider userInfoProvider,
boolean isCacheUserInfo)
设置用户信息的提供者,供 RongIM 调用获取用户名称和头像信息。
|
void |
setVoiceMessageType(RongIM.VoiceMessageType voiceMessageType)
设置语音消息类型
|
void |
startChatRoomChat(android.content.Context context,
java.lang.String chatRoomId,
boolean createIfNotExist)
启动聊天室会话。
|
void |
startConversation(android.content.Context context,
Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String title)
启动会话界面。
|
void |
startConversation(android.content.Context context,
Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String title,
android.os.Bundle bundle)
启动会话界面。
|
void |
startConversation(android.content.Context context,
Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String title,
long fixedMsgSentTime)
启动会话界面,并跳转到指定的消息位置
使用时,可以传入多种会话类型
io.rong.imlib.model.Conversation.ConversationType 对应不同的会话类型,开启不同的会话界面。 |
void |
startConversationList(android.content.Context context)
已过时。
废弃该方法,请使用
startConversationList(Context, Map) |
void |
startConversationList(android.content.Context context,
java.util.Map<java.lang.String,java.lang.Boolean> supportedConversation)
启动会话列表界面。
|
void |
startCustomerServiceChat(android.content.Context context,
java.lang.String customerServiceId,
java.lang.String title,
CSCustomServiceInfo customServiceInfo)
启动客户服聊天界面。
|
void |
startDiscussionChat(android.content.Context context,
java.lang.String targetDiscussionId,
java.lang.String title)
启动讨论组聊天界面。
|
void |
startEncryptedSession(android.content.Context context,
java.lang.String targetId,
java.lang.String title)
开启加密会话,如果是新开启的一个会话则会重新发送信令消息。
|
void |
startGroupChat(android.content.Context context,
java.lang.String targetGroupId,
java.lang.String title)
启动群组聊天界面。
|
void |
startPrivateChat(android.content.Context context,
java.lang.String targetUserId,
java.lang.String title)
启动单聊界面。
|
void |
startPublicServiceProfile(android.content.Context context,
Conversation.ConversationType conversationType,
java.lang.String targetId)
启动公众号信息界面。
|
void |
startSubConversationList(android.content.Context context,
Conversation.ConversationType conversationType)
启动聚合后的某类型的会话列表。
|
void |
subscribePublicService(Conversation.PublicServiceType publicServiceType,
java.lang.String publicServiceId,
RongIMClient.OperationCallback callback)
订阅公众号。
|
void |
supportResumeBrokenTransfer(java.lang.String url,
<any> callback) |
void |
unRegisterEncSessionListener(RongIMClient.EncryptedSessionConnectionListener listener)
解注listener
|
void |
unsubscribePublicService(Conversation.PublicServiceType publicServiceType,
java.lang.String publicServiceId,
RongIMClient.OperationCallback callback)
取消订阅公众号。
|
public static final int ON_SUCCESS_CALLBACK
public static final int ON_PROGRESS_CALLBACK
public static final int ON_CANCEL_CALLBACK
public static final int ON_ERROR_CALLBACK
public void registerEncSessionListener(RongIMClient.EncryptedSessionConnectionListener listener)
listener
- 接口对象public void unRegisterEncSessionListener(RongIMClient.EncryptedSessionConnectionListener listener)
listener
- 接口对象public boolean isRegisted(RongIMClient.EncryptedSessionConnectionListener listener)
listener
- 待判断的接口对象public static void init(android.app.Application application, java.lang.String appKey)
初始化后,SDK 会注册 activity 生命周期,用于判断应用处于前、后台,根据前后台只能调整链接心跳
application
- 传入 Application 的类。public static void init(android.content.Context context, java.lang.String appKey)
appKey
- 应用的app key.context
- 应用上下文。public static void init(android.content.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 void init(android.content.Context context)
context
- 应用上下文。public static void initAsync(android.content.Context context, java.lang.String appKey, boolean enablePush, RongIM.AsyncInitListener asyncInitListener)
RongIM.AsyncInitListener
接口,可以异步去执行需要在 SDK 初始化之前和之后跟 SDK 相关的业务。context
- 传入Application类的Context。appKey
- 融云注册应用的AppKey。enablePush
- 是否使用推送功能。false 代表不使用推送相关功能, SDK 里将不会携带推送相关文件。asyncInitListener
- 异步初始化时执行初始化前后事件的监听public static void registerMessageType(java.lang.Class<? extends MessageContent> messageContentClass)
messageContentClass
- 消息类型,必须要继承自 io.rong.imlib.model.MessageContent。public static void registerMessageTemplate(IContainerItemProvider.MessageProvider provider)
provider
- 模板类型。public void setCurrentUserInfo(UserInfo userInfo)
init(Context)
之后调用setMessageAttachedUserInfo(boolean)
,
这样可以在每条消息中携带当前用户的信息,IMKit会在接收到消息的时候取出用户信息并刷新到界面上。userInfo
- 当前用户信息。public static RongIM connect(java.lang.String token, RongIMClient.ConnectCallback connectCallback)
token
- 从服务端获取的 用户身份令牌(
Token)。connectCallback
- 连接服务器的回调扩展类,新增打开数据库的回调,用户可以在此回调中执行拉取会话列表操作。public static RongIM connect(java.lang.String token, int timeLimit, RongIMClient.ConnectCallback connectCallback)
token
- 从服务端获取的 用户身份令牌(
Token)。timeLimit
- 连接超时时间,单位:秒。timeLimit <= 0,则 IM 将一直连接,直到连接成功或者无法连接(如 token 非法)
timeLimit > 0 ,则 IM 将最多连接 timeLimit 秒:
如果在 timeLimit 秒内连接成功,后面再发生了网络变化或前后台切换,SDK 会自动重连;
如果在 timeLimit 秒无法连接成功则不再进行重连,通过 onError 告知连接超时,您需要再自行调用 connect 接口connectCallback
- 连接服务器的回调扩展类,新增打开数据库的回调,用户可以在此回调中执行拉取会话列表操作。public static void setOnReceiveMessageListener(RongIMClient.OnReceiveMessageListener listener)
listener
- 接收消息的监听器。public static void setConnectionStatusListener(RongIMClient.ConnectionStatusListener listener)
当回调状态为io.rong.imlib.RongIMClient.ConnectionStatusListener.ConnectionStatus#TOKEN_INCORRECT
,
需要获取正确的token, 并主动调用connect(String, RongIMClient.ConnectCallback)
listener
- 连接状态变化的监听器。@Deprecated public void disconnect(boolean isReceivePush)
disconnect()
或者logout()
方法。isReceivePush
- 断开后是否接收 push。public void logout()
public void setGroupMembersProvider(RongIM.IGroupMembersProvider groupMembersProvider)
RongIM.IGroupMemberCallback
中的方法设置到 sdk 中
groupMembersProvider
- 群组成员提供者。public static void setLocationProvider(RongIM.LocationProvider locationProvider)
locationProvider
- 位置信息提供者。public void disconnect()
public static RongIM getInstance()
@Deprecated public void startConversationList(android.content.Context context)
startConversationList(Context, Map)
context
- 应用上下文。public void startConversationList(android.content.Context context, java.util.Map<java.lang.String,java.lang.Boolean> supportedConversation)
context
- 应用上下文。supportedConversation
- 定义会话列表支持显示的会话类型,及对应的会话类型是否聚合显示。
例如:supportedConversation.put(Conversation.ConversationType.PRIVATE.getName(), false) 非聚合式显示 private 类型的会话。public void startSubConversationList(android.content.Context context, Conversation.ConversationType conversationType)
context
- 应用上下文。conversationType
- 会话类型。public static void setConversationBehaviorListener(RongIM.ConversationBehaviorListener listener)
listener
- 会话界面操作的监听器。public static void setConversationClickListener(RongIM.ConversationClickListener listener)
listener
- 会话界面操作的监听器。public static void setConversationListBehaviorListener(RongIM.ConversationListBehaviorListener listener)
listener
- 会话列表界面操作的监听器。public static void setPublicServiceBehaviorListener(RongIM.PublicServiceBehaviorListener listener)
listener
- 会话公众号界面操作的监听器。public void startPrivateChat(android.content.Context context, java.lang.String targetUserId, java.lang.String title)
context
- 应用上下文。targetUserId
- 要与之聊天的用户 Id。title
- 聊天的标题。开发者需要在聊天界面通过intent.getData().getQueryParameter("title")获取该值, 再手动设置为聊天界面的标题。public void startEncryptedSession(android.content.Context context, java.lang.String targetId, java.lang.String title)
context
- 应用上下文targetId
- 根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。title
- 聊天的标题。开发者需要在聊天界面通过intent.getData().getQueryParameter("title")获取该值, 再手动设置为聊天界面的标题。RongIMClient.EncryptedSessionConnectionListener
public void quitEncryptedSession(java.lang.String targetId)
targetId
- //targetId 由 encId + ";;;" + remote userId 组成public void clearEncryptedConversations()
public int getEncryptedSessionStatus(android.content.Context context, java.lang.String targetId)
context
- targetId
- //targetId 由 encId + ";;;" + remote userId 组成public java.util.List<RCEncryptedSession> getAllEncryptedConversations()
public void startConversation(android.content.Context context, Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String title)
启动会话界面。
使用时,可以传入多种会话类型 io.rong.imlib.model.Conversation.ConversationType
对应不同的会话类型,开启不同的会话界面。
如果传入的是 io.rong.imlib.model.Conversation.ConversationType#CHATROOM
,sdk 会默认调用
RongIMClient#joinChatRoom(String, int, RongIMClient.OperationCallback)
加入聊天室。
如果你的逻辑是,只允许加入已存在的聊天室,请使用接口 startChatRoomChat(Context, String, boolean)
并且第三个参数为 true
context
- 应用上下文。conversationType
- 会话类型。targetId
- 根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。title
- 聊天的标题。开发者需要在聊天界面通过intent.getData().getQueryParameter("title")获取该值, 再手动设置为聊天界面的标题。public void startConversation(android.content.Context context, Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String title, android.os.Bundle bundle)
启动会话界面。
使用时,可以传入多种会话类型 io.rong.imlib.model.Conversation.ConversationType
对应不同的会话类型,开启不同的会话界面。
如果传入的是 io.rong.imlib.model.Conversation.ConversationType#CHATROOM
,sdk 会默认调用
RongIMClient#joinChatRoom(String, int, RongIMClient.OperationCallback)
加入聊天室。
如果你的逻辑是,只允许加入已存在的聊天室,请使用接口 startChatRoomChat(Context, String, boolean)
并且第三个参数为 true
context
- 应用上下文。conversationType
- 会话类型。targetId
- 根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。title
- 聊天的标题。开发者需要在聊天界面通过intent.getData().getQueryParameter("title")获取该值, 再手动设置为聊天界面的标题。bundle
- 参数传递 bundlepublic void startConversation(android.content.Context context, Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String title, long fixedMsgSentTime)
启动会话界面,并跳转到指定的消息位置
使用时,可以传入多种会话类型 io.rong.imlib.model.Conversation.ConversationType
对应不同的会话类型,开启不同的会话界面。
如果传入的是 io.rong.imlib.model.Conversation.ConversationType#CHATROOM
,sdk 会默认调用
RongIMClient#joinChatRoom(String, int, RongIMClient.OperationCallback)
加入聊天室。
如果你的逻辑是,只允许加入已存在的聊天室,请使用接口 startChatRoomChat(Context, String, boolean)
并且第三个参数为 true
context
- 应用上下文。conversationType
- 会话类型。targetId
- 根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。title
- 聊天的标题。开发者需要在聊天界面通过intent.getData().getQueryParameter("title")获取该值, 再手动设置为聊天界面的标题。fixedMsgSentTime
- 需要定位的消息发送时间public void createDiscussionChat(android.content.Context context, java.util.List<java.lang.String> targetUserIds, java.lang.String title)
该方法会同时根据传入的 userId 创建讨论组,但无法获取奥讨论组创建结果。
如果想要获取到讨论组创建结果,请使用 createDiscussion(String, List, RongIMClient.CreateDiscussionCallback)
context
- 应用上下文。targetUserIds
- 要与之聊天的讨论组用户 Id 列表。title
- 聊天的标题,如果传入空值,则默认显示与之聊天的用户名称。public void createDiscussionChat(android.content.Context context, java.util.List<java.lang.String> targetUserIds, java.lang.String title, RongIMClient.CreateDiscussionCallback callback)
该方法会同时根据传入的 userId 创建讨论组,并通过io.rong.imlib.RongIMClient.CreateDiscussionCallback
返回讨论组创建结果。
context
- 应用上下文。targetUserIds
- 要与之聊天的讨论组用户 Id 列表。title
- 聊天的标题,如果传入空值,则默认显示与之聊天的用户名称。callback
- 讨论组回调,成功时,返回讨论组 id。public void startDiscussionChat(android.content.Context context, java.lang.String targetDiscussionId, java.lang.String title)
context
- 应用上下文。targetDiscussionId
- 要聊天的讨论组 Id。title
- 聊天的标题。开发者需要在聊天界面通过intent.getData().getQueryParameter("title")获取该值, 再手动设置为聊天界面的标题。public void startGroupChat(android.content.Context context, java.lang.String targetGroupId, java.lang.String title)
context
- 应用上下文。targetGroupId
- 要聊天的群组 Id。title
- 聊天的标题。开发者需要在聊天界面通过intent.getData().getQueryParameter("title")获取该值, 再手动设置为聊天界面的标题。public void startChatRoomChat(android.content.Context context, java.lang.String chatRoomId, boolean createIfNotExist)
启动聊天室会话。
设置参数 createIfNotExist 为 true,对应到 kit 中调用的接口是
RongIMClient#joinChatRoom(String, int, RongIMClient.OperationCallback)
.
如果聊天室不存在,则自动创建并加入,如果回调失败,则弹出 warning。
设置参数 createIfNotExist 为 false,对应到 kit 中调用的接口是
RongIMClient#joinExistChatRoom(String, int, RongIMClient.OperationCallback)
.
如果聊天室不存在,则返回错误 io.rong.imlib.RongIMClient.ErrorCode#RC_CHATROOM_NOT_EXIST
,并且会话界面会弹出 warning.
context
- 应用上下文。chatRoomId
- 聊天室 id。createIfNotExist
- 如果聊天室不存在,是否创建。public void startCustomerServiceChat(android.content.Context context, java.lang.String customerServiceId, java.lang.String title, CSCustomServiceInfo customServiceInfo)
context
- 应用上下文。customerServiceId
- 要与之聊天的客服 Id。title
- 聊天的标题。开发者需要在聊天界面通过intent.getData().getQueryParameter("title")获取该值, 再手动设置为聊天界面的标题。customServiceInfo
- 当前使用客服者的用户信息。io.rong.imlib.model.CSCustomServiceInfo
public static void setUserInfoProvider(RongIM.UserInfoProvider userInfoProvider, boolean isCacheUserInfo)
设置用户信息的提供者,供 RongIM 调用获取用户名称和头像信息。
设置后,当 sdk 界面展示用户信息时,会回调 RongIM.UserInfoProvider.getUserInfo(String)
使用者只需要根据对应的 userId 提供对应的用户信息。
如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。
在异步请求结果返回后,根据返回的结果调用 refreshUserInfoCache(UserInfo)
刷新用户信息。
userInfoProvider
- 用户信息提供者 RongIM.UserInfoProvider
。isCacheUserInfo
- 设置是否由 IMKit 来缓存用户信息。public static void setPublicServiceProfileProvider(RongIM.PublicServiceProfileProvider publicServiceProfileProvider)
设置公众服务账号信息的提供者,供 RongIM 调用获公众服务账号名称,头像信息和公众服务号菜单。
目前 sdk 默认的公众号服务不需要开发者设置,这个接口提供了另外一种从 app 层设置公众服务账号信息的方式
设置后,当 sdk 界面展示用户信息时,会回调 RongIM.PublicServiceProfileProvider.getPublicServiceProfile(Conversation.PublicServiceType, String)
使用者只需要根据对应的publicServiceType, publicServiceId 提供对应的公众服务账号信息。
如果需要异步从服务器获取公众服务账号信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。
在异步请求结果返回后,根据返回的结果调用 refreshPublicServiceProfile(PublicServiceProfile)
刷新公众号信息。
publicServiceProfileProvider
- 公众服务账号信息的提供者 RongIM.PublicServiceProfileProvider
。public static void setGroupUserInfoProvider(RongIM.GroupUserInfoProvider userInfoProvider, boolean isCacheUserInfo)
设置GroupUserInfo提供者,供RongIM 调用获取GroupUserInfo
可以使用此方法,修改群组中用户昵称
设置后,当 sdk 界面展示用户信息时,会回调 RongIM.GroupUserInfoProvider.getGroupUserInfo(String, String)
使用者只需要根据对应的 groupId, userId 提供对应的用户信息 GroupUserInfo
。
如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。
在异步请求结果返回后,根据返回的结果调用 refreshGroupUserInfoCache(GroupUserInfo)
刷新信息。
userInfoProvider
- 群组用户信息提供者。isCacheUserInfo
- 设置是否由 IMKit 来缓存 GroupUserInfo。public static void setGroupInfoProvider(RongIM.GroupInfoProvider groupInfoProvider, boolean isCacheGroupInfo)
设置群组信息的提供者。
设置后,当 sdk 界面展示群组信息时,会回调 RongIM.GroupInfoProvider.getGroupInfo(String)
使用者只需要根据对应的 groupId 提供对应的群组信息。
如果需要异步从服务器获取群组信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。
在异步请求结果返回后,根据返回的结果调用 refreshGroupInfoCache(Group)
刷新信息。
groupInfoProvider
- 群组信息提供者。isCacheGroupInfo
- 设置是否由 IMKit 来缓存用户信息。public void refreshDiscussionCache(Discussion discussion)
discussion
- 需要更新的讨论组缓存数据。public void refreshUserInfoCache(UserInfo userInfo)
userInfo
- 需要更新的用户缓存数据。public void refreshGroupUserInfoCache(GroupUserInfo groupUserInfo)
groupUserInfo
- 需要更新的群组用户缓存数据。public void refreshGroupInfoCache(Group group)
group
- 需要更新的群组缓存数据。public void refreshPublicServiceProfile(PublicServiceProfile publicServiceProfile)
publicServiceProfile
- 需要更新的公众服务账号缓存数据。public void setSendMessageListener(RongIM.OnSendMessageListener listener)
listener
- 发送消息的监听。public void setMessageAttachedUserInfo(boolean state)
state
- 是否携带用户信息,true 携带,false 不携带。@Deprecated public void setOnReceiveUnreadCountChangedListener(RongIM.OnReceiveUnreadCountChangedListener listener, Conversation.ConversationType... conversationTypes)
addUnReadMessageCountChangedObserver(IUnReadMessageObserver, Conversation.ConversationType...)
和 removeUnReadMessageCountChangedObserver(IUnReadMessageObserver)
listener
- 接收未读消息消息的监听器。conversationTypes
- 接收未读消息的会话类型。public void addUnReadMessageCountChangedObserver(IUnReadMessageObserver observer, Conversation.ConversationType... conversationTypes)
removeUnReadMessageCountChangedObserver(IUnReadMessageObserver)
否则会造成内存泄漏。observer
- 接收未读消息消息的监听器。conversationTypes
- 接收未读消息的会话类型。public void removeUnReadMessageCountChangedObserver(IUnReadMessageObserver observer)
observer
- 接收未读消息消息的监听器。public void startPublicServiceProfile(android.content.Context context, Conversation.ConversationType conversationType, java.lang.String targetId)
context
- 应用上下文。conversationType
- 会话类型。targetId
- 目标 Id。public void registerConversationTemplate(IContainerItemProvider.ConversationProvider provider)
provider
- 会话列表模板提供者。public void enableNewComingMessageIcon(boolean state)
state
- true 展示,false 不展示。public void enableUnreadMessageIcon(boolean state)
state
- true 展示,false 不展示。public void setMaxVoiceDurationg(int sec)
sec
- 默认值是60s,有效值为不小于5秒,不大于60秒public RongIMClient.ConnectionStatusListener.ConnectionStatus getCurrentConnectionStatus()
public void getConversationList(<any> callback)
callback
- 会话列表数据回调。
Conversation。public void getConversationList(<any> callback, Conversation.ConversationType... types)
callback
- 获取会话列表的回调。types
- 会话类型。public void getConversation(Conversation.ConversationType type, java.lang.String targetId, <any> callback)
type
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。callback
- 获取会话信息的回调。public void removeConversation(Conversation.ConversationType type, java.lang.String targetId, <any> callback)
type
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。callback
- 移除会话是否成功的回调。public void setConversationToTop(Conversation.ConversationType type, java.lang.String id, boolean isTop, <any> callback)
type
- 会话类型。id
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。isTop
- 是否置顶。callback
- 设置置顶或取消置顶是否成功的回调。public void setConversationToTop(Conversation.ConversationType type, java.lang.String id, boolean isTop, boolean needCreate, <any> callback)
type
- 会话类型。id
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。isTop
- 是否置顶。needCreate
- 会话不存在时,是否创建会话。callback
- 设置置顶或取消置顶是否成功的回调。public void getTotalUnreadCount(<any> callback)
callback
- 消息数的回调。public void getUnreadCount(Conversation.ConversationType conversationType, java.lang.String targetId, <any> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 未读消息数的回调public void getUnreadCount(<any> callback, Conversation.ConversationType... conversationTypes)
callback
- 未读消息数的回调。conversationTypes
- 会话类型。public void getUnreadCount(Conversation.ConversationType[] conversationTypes, boolean containBlocked, <any> callback)
conversationTypes
- 会话类型。containBlocked
- 是否包含消息免打扰的未读消息数,true 包含, false 不包含callback
- 未读消息数的回调。public void getUnreadCount(Conversation.ConversationType[] conversationTypes, <any> callback)
conversationTypes
- 会话类型。callback
- 未读消息数的回调。public void getLatestMessages(Conversation.ConversationType conversationType, java.lang.String targetId, int count, <any> 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, RongIMClient.ResultCallback)
。conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。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, String, int, int, RongIMClient.ResultCallback)
。conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。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, <any> callback)
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 。objectName
- 消息类型标识。oldestMessageId
- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count
- 要获取的消息数量。callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。public void getHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, int oldestMessageId, int count, <any> callback)
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。oldestMessageId
- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count
- 要获取的消息数量。callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。public void getRemoteHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, long dataTime, int count, <any> callback)
该方法只支持拉取指定时间之前的远端历史消息
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。dataTime
- 从该时间点开始获取消息。即:消息中的 sendTime;第一次可传 0,获取最新 count 条。count
- 要获取的消息数量,最多 20 条。callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。public void getRemoteHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, RemoteHistoryMsgOption remoteHistoryMsgOption, <any> callback)
该方法支持拉取指定时间之前或之后的远端历史消息
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。remoteHistoryMsgOption
- RemoteHistoryMsgOption
callback
- 获取历史消息记录的回调,按照时间顺序从新到旧排列。public void deleteMessages(int[] messageIds, <any> callback)
messageIds
- 要删除的消息 Id 数组。callback
- 是否删除成功的回调。public void deleteMessages(Conversation.ConversationType conversationType, java.lang.String targetId, <any> callback)
清除指定会话的消息
。此接口会删除指定会话中数据库的所有消息,同时,会清理数据库空间。 如果数据库特别大,超过几百 M,调用该接口会有少许耗时。
conversationType
- 要删除的消息 Id 数组。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。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
- 是否删除成功的回调。public void clearMessages(Conversation.ConversationType conversationType, java.lang.String targetId, <any> callback)
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 清空是否成功的回调。public void clearMessagesUnreadStatus(Conversation.ConversationType conversationType, java.lang.String targetId, <any> callback)
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 清除是否成功的回调。public void setMessageExtra(int messageId, java.lang.String value, <any> callback)
messageId
- 消息 Id。value
- 消息附加信息,最大 1024 字节。callback
- 是否设置成功的回调。public void setMessageReceivedStatus(int messageId, Message.ReceivedStatus receivedStatus, <any> callback)
messageId
- 消息 Id。receivedStatus
- 接收到的消息状态。callback
- 是否设置成功的回调。public void setMessageSentStatus(Message message, <any> callback)
message
- 消息实体。要设置的发送状态包含在 message 中callback
- 是否设置成功的回调。public void getTextMessageDraft(Conversation.ConversationType conversationType, java.lang.String targetId, <any> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。callback
- 获取草稿文字内容的回调。public void saveTextMessageDraft(Conversation.ConversationType conversationType, java.lang.String targetId, java.lang.String content, <any> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。content
- 草稿的文字内容。callback
- 是否保存成功的回调。public void clearTextMessageDraft(Conversation.ConversationType conversationType, java.lang.String targetId, <any> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。callback
- 是否清除成功的回调。public void getDiscussion(java.lang.String discussionId, <any> callback)
discussionId
- 讨论组 Id。callback
- 获取讨论组的回调。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, RongIMClient.OperationCallback)
方法。
discussionId
- 讨论组 Id。userId
- 用户 Id。callback
- 执行操作的回调。io.rong.imlib.RongIMClient.OperationCallback
。public void quitDiscussion(java.lang.String discussionId, RongIMClient.OperationCallback callback)
discussionId
- 讨论组 Id。callback
- 执行操作的回调。public void insertIncomingMessage(Conversation.ConversationType type, java.lang.String targetId, java.lang.String senderUserId, Message.ReceivedStatus receivedStatus, MessageContent content, <any> callback)
MessageTag.ISPERSISTED
,否者会回调 RongIMClient.ErrorCode.PARAMETER_ERROR
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论,组的id.senderUserId
- 发送方 IdreceivedStatus
- 接收状态 @see Message.ReceivedStatus
content
- 消息内容。如TextMessage
ImageMessage
等。callback
- 获得消息发送实体的回调。public void insertIncomingMessage(Conversation.ConversationType type, java.lang.String targetId, java.lang.String senderUserId, Message.ReceivedStatus receivedStatus, MessageContent content, long sentTime, <any> callback)
MessageTag.ISPERSISTED
,否者会回调 RongIMClient.ErrorCode.PARAMETER_ERROR
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论,组的id.senderUserId
- 发送方 IdreceivedStatus
- 接收状态 @see Message.ReceivedStatus
content
- 消息内容。如TextMessage
ImageMessage
等。callback
- 获得消息发送实体的回调。public void insertOutgoingMessage(Conversation.ConversationType type, java.lang.String targetId, Message.SentStatus sentStatus, MessageContent content, <any> callback)
MessageTag#ISPERSISTED
,否者会回调 RongIMClient.ErrorCode#PARAMETER_ERROR
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论,组的id.sentStatus
- 接收状态 @see Message.ReceivedStatus
content
- 消息内容。如TextMessage
ImageMessage
等。callback
- 获得消息发送实体的回调。public void insertOutgoingMessage(Conversation.ConversationType type, java.lang.String targetId, Message.SentStatus sentStatus, MessageContent content, long sentTime, <any> callback)
MessageTag.ISPERSISTED
,否者会回调 RongIMClient.ErrorCode.PARAMETER_ERROR
type
- 会话类型。targetId
- 目标会话Id。比如私人会话时,是对方的id; 群组会话时,是群id; 讨论组会话时,则为该讨论,组的id.sentStatus
- 发送状态 @see Message.SentStatus
content
- 消息内容。如TextMessage
ImageMessage
等。callback
- 获得消息发送实体的回调。public void sendMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMessageCallback callback)
发送消息。
通过 io.rong.imlib.IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。
message
- 将要发送的消息体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调,参考 io.rong.imlib.IRongCallback.ISendMessageCallback
。public void sendMessage(Message message, java.lang.String pushContent, java.lang.String pushData, SendMessageOption option, IRongCallback.ISendMessageCallback callback)
发送消息。
通过 io.rong.imlib.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
- 发送消息的回调,参考 io.rong.imlib.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)
通过 io.rong.imlib.IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。
注意:1 秒钟发送消息不能超过 5 条。
type
- 会话类型。targetId
- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。content
- 消息内容,例如 TextMessage
, ImageMessage
。pushContent
- 当下发远程推送消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。
如果发送 SDK 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- 远程推送附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调。参考 io.rong.imlib.IRongCallback.ISendMessageCallback
。public void sendLocationMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMessageCallback sendMessageCallback)
发送地理位置消息。并同时更新界面。
发送前构造 Message
消息实体,消息实体中的 content 必须为 LocationMessage
, 否则返回失败。
其中的缩略图地址 scheme 只支持 file:// 和 http:// 其他暂不支持。
message
- 消息实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。sendMessageCallback
- 发送消息的回调,参考 io.rong.imlib.IRongCallback.ISendMessageCallback
。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
- 发送消息的回调。public void sendImageMessage(Message message, java.lang.String pushContent, java.lang.String pushData, boolean filter, RongIMClient.SendImageMessageCallback callback)
发送图片消息
message
- 发送消息的实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。filter
- 是否过滤消息,false 则不会回调RongIM.OnSendMessageListener
,true 则会回调onSend方法,用户可以处理这条消息。callback
- 发送消息的回调 io.rong.imlib.RongIMClient.SendImageMessageCallback
。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
- 发送消息的回调 io.rong.imlib.RongIMClient.SendImageMessageCallback
。public void sendImageMessage(Message message, java.lang.String pushContent, java.lang.String pushData, RongIMClient.SendImageMessageWithUploadListenerCallback callback)
发送图片消息,可以使用该方法将图片上传到自己的服务器发送,同时更新图片状态。
使用该方法在上传图片时,会回调 io.rong.imlib.RongIMClient.SendImageMessageWithUploadListenerCallback
此回调中会携带 RongIMClient.UploadImageStatusListener
对象,使用者只需要调用其中的
RongIMClient.UploadImageStatusListener#update(int)
更新进度
RongIMClient.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, RongIMClient.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)
downloadMedia(Conversation.ConversationType, String, RongIMClient.MediaType, String, RongIMClient.DownloadMediaCallback)
的区别是,该方法支持取消操作。
用来获取媒体原文件时调用。如果本地缓存中包含此文件,则从本地缓存中直接获取,否则将从服务器端下载。message
- 文件消息。callback
- 下载文件的回调。public void downloadMediaFile(java.lang.String uid, java.lang.String fileUrl, java.lang.String fileName, java.lang.String path, IRongCallback.IDownloadMediaFileCallback callback)
uid
- 文件唯一标识fileUrl
- 文件下载地址fileName
- 文件名path
- 文件下载保存目录,如果是 targetVersion 29 为目标,由于访问权限原因,建议使用 context.getExternalFilesDir() 方法保存到私有目录callback
- 回调public void downloadMedia(java.lang.String imageUrl, RongIMClient.DownloadMediaCallback callback)
imageUrl
- 文件的 URL 地址。callback
- 下载文件的回调。public void getConversationNotificationStatus(Conversation.ConversationType conversationType, java.lang.String targetId, <any> callback)
conversationType
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 获取状态的回调。public void setConversationNotificationStatus(Conversation.ConversationType conversationType, java.lang.String targetId, Conversation.ConversationNotificationStatus notificationStatus, <any> 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
- 设置权限的回调。public java.lang.String getCurrentUserId()
public long getDeltaTime()
public void joinChatRoom(java.lang.String chatroomId, int defMessageCount, RongIMClient.OperationCallback callback)
如果聊天室不存在,sdk 会创建聊天室并加入,如果已存在,则直接加入
加入聊天室时,可以选择拉取聊天室消息数目。
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
- 会话类型。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, <any> callback)
userId
- 用户 Id。callback
- 获取用户是否在黑名单回调。public void getBlacklist(RongIMClient.GetBlacklistCallback callback)
callback
- 获取黑名单回调。public void setNotificationQuietHours(java.lang.String startTime, int spanMinutes, RongIMClient.OperationCallback callback)
startTime
- 起始时间 格式 HH:MM:SS。spanMinutes
- 间隔分钟数大于 0 小于 1440。callback
- 设置会话通知免打扰时间回调。public void removeNotificationQuietHours(RongIMClient.OperationCallback callback)
callback
- 移除会话通知免打扰时间回调。public void getNotificationQuietHours(RongIMClient.GetNotificationQuietHoursCallback callback)
callback
- 获取会话通知免打扰时间回调。public void getPublicServiceProfile(Conversation.PublicServiceType publicServiceType, java.lang.String publicServiceId, <any> callback)
publicServiceType
- 会话类型,APP_PUBLIC_SERVICE 或者 PUBLIC_SERVICE。publicServiceId
- 公众服务 Id。callback
- 获取公众号信息回调。public void searchPublicService(RongIMClient.SearchType searchType, java.lang.String keywords, <any> callback)
searchType
- 搜索类型枚举。keywords
- 搜索关键字。callback
- 搜索结果回调。public void searchPublicServiceByType(Conversation.PublicServiceType publicServiceType, RongIMClient.SearchType searchType, java.lang.String keywords, <any> callback)
publicServiceType
- 公众服务类型。searchType
- 搜索类型枚举。keywords
- 搜索关键字。callback
- 搜索结果回调。public void subscribePublicService(Conversation.PublicServiceType publicServiceType, java.lang.String publicServiceId, RongIMClient.OperationCallback callback)
publicServiceId
- 公共服务 Id。publicServiceType
- 公众服务类型枚举。callback
- 订阅公众号回调。public void unsubscribePublicService(Conversation.PublicServiceType publicServiceType, java.lang.String publicServiceId, RongIMClient.OperationCallback callback)
publicServiceId
- 公共服务 Id。publicServiceType
- 公众服务类型枚举。callback
- 取消订阅公众号回调。public void getPublicServiceList(<any> callback)
callback
- 获取己关注公共账号列表回调。@Deprecated public void setRequestPermissionListener(RongIM.RequestPermissionsListener listener)
listener
- 权限监听器。public void recordNotificationEvent(java.lang.String pushId)
记录在开发者后台使用后台推送功能时,对应的推送通知的点击事件。开发者后台的推送打开率既根据客户端上传的该事件进行相应统计和计算。 2.6.0之前版本,推送打开率的使用请在知识库里搜索标签push,有相关说明。 2.6.0之后版本,如果用户使用的SDK内置的通知实现,则不需要调用该方法来统计推送打开率,SDK内部已经帮用户做了统计。 但是如果用户自己定义了推送时通知栏的显示,则需要在点击通知时,调用此方法,来向服务器上传推送打开事件。
pushId
- push通知的id。只有当后台广播消息和后台推送时,pushId才会有值,其余非后台情况下都为空。public static void setServerInfo(java.lang.String naviServer, java.lang.String fileServer)
init(Context, String)
前使用
支持传入多个导航, 多个导航地址之间须以分号 ; 分隔naviServer
- 私有部署的导航服务器地址。fileServer
- 私有部署的媒体服务器地址,即文件和图片的上传地址。使用私有云时必须填写。public static void setStatisticDomain(java.lang.String domain)
domain
- 域名public void setPublicServiceMenuClickListener(IPublicServiceMenuClickListener menuClickListener)
menuClickListener
- 监听。public void recallMessage(Message message, java.lang.String pushContent)
message
- 将被撤回的消息pushContent
- 被撤回时,通知栏显示的信息public void sendMediaMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMediaMessageCallback callback)
发送多媒体消息
发送前构造 Message
消息实体,消息实体中的 content 必须为 FileMessage
, 否则返回失败。
message
- 发送消息的实体。pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
发送文件消息时,此字段必须填写,否则会收不到 push 推送。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调 io.rong.imlib.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 推送。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。callback
- 发送消息的回调 io.rong.imlib.RongIMClient.SendMediaMessageCallback
。public void sendMediaMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMediaMessageCallbackWithUploader callback)
发送多媒体消息,可以使用该方法将多媒体文件上传到自己的服务器。
使用该方法在上传多媒体文件时,会回调 io.rong.imlib.IRongCallback.ISendMediaMessageCallbackWithUploader#onAttached(Message, IRongCallback.MediaMessageUploader)
此回调中会携带 IRongCallback.MediaMessageUploader
对象,使用者只需要调用此对象中的
IRongCallback.MediaMessageUploader#update(int)
更新进度
IRongCallback.MediaMessageUploader#success(Uri)
更新成功状态,并告知上传成功后的文件地址
IRongCallback.MediaMessageUploader#error()
更新失败状态
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 cancelDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)
message
- 包含多媒体文件的消息,即MessageContent
为 FileMessage, ImageMessage 等。callback
- 取消下载多媒体文件时的回调。public void pauseDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)
message
- 包含多媒体文件的消息,即MessageContent
为 FileMessage, ImageMessage 等。callback
- 暂停下载多媒体文件时的回调public void cancelSendMediaMessage(Message message, RongIMClient.OperationCallback callback)
message
- 包含多媒体文件的消息,即MessageContent
为 FileMessage, ImageMessage 等。callback
- 取消发送多媒体文件时的回调。public void setReadReceiptConversationTypeList(Conversation.ConversationType... types)
types
- 包含在types里的会话类型中将会发送消息回执。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)
发送定向消息。向会话中特定的某些用户发送消息,会话中其他用户将不会收到此消息。
通过 io.rong.imlib.IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。
ImageMessage
FileMessage
,或者继承自MediaMessageContent
的消息须调用
sendDirectionalMediaMessage(Message, String[], String, String, IRongCallback.ISendMediaMessageCallback)
。type
- 会话类型。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。content
- 消息内容,例如 TextMessage
pushContent
- 当下发 push 消息时,在通知栏里会显示这个字段。
如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData
- push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 io.rong.push.notification.PushNotificationMessage#getPushData()
方法获取。userIds
- 会话中将会接收到此消息的用户列表。callback
- 发送消息的回调,参考 io.rong.imlib.IRongCallback.ISendMessageCallback
。@Deprecated public void setNotificationQuiteHoursConfigured(boolean notificationQuiteHoursConfigured)
connect(String, RongIMClient.ConnectCallback)
之后会调用
getNotificationQuietHours(RongIMClient.GetNotificationQuietHoursCallback)
从服务器读取免打扰时间。
开发者可以在init(Context)
之后connect(String, RongIMClient.ConnectCallback)
之前
调用MessageNotificationManager.getInstance().setNotificationQuietHours(String, int)配置会话通知免打扰时间,
并调用此接口告知SDK已经配置了会话通知免打扰时间notificationQuiteHoursConfigured
- 是否已经配置会话通知免打扰时间。public boolean isNotificationQuiteHoursConfigured()
public void setMessageInterceptor(RongIM.MessageInterceptor messageInterceptor)
messageInterceptor
- 拦截器public void supportResumeBrokenTransfer(java.lang.String url, <any> callback)
public void setSamplingRate(RongIM.SamplingRate sampleRate)
sampleRate
- 消息采样率RongIM.SamplingRate
public int getSamplingRate()
public RongIM.VoiceMessageType getVoiceMessageType()
public void setVoiceMessageType(RongIM.VoiceMessageType voiceMessageType)
voiceMessageType
- 消息类型RongIM.VoiceMessageType
public android.content.Context getApplicationContext()