public class IMCenter
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
IMCenter.FilterSentListener |
static class |
IMCenter.VoiceMessageType
语音消息类型
|
Modifier and Type | Method and Description |
---|---|
void |
addConnectionStatusListener(RongIMClient.ConnectionStatusListener listener)
设置连接状态变化的监听器。
|
void |
addConnectStatusListener(RongIMClient.ConnectCallback callback) |
void |
addConversationEventListener(ConversationEventListener listener) |
void |
addConversationStatusListener(RongIMClient.ConversationStatusListener listener) |
void |
addMessageEventListener(MessageEventListener listener) |
void |
addOnRecallMessageListener(RongIMClient.OnRecallMessageListener listener) |
void |
addOnReceiveMessageListener(RongIMClient.OnReceiveMessageWrapperListener listener) |
void |
addReadReceiptListener(RongIMClient.ReadReceiptListener listener) |
void |
addSyncConversationReadStatusListener(RongIMClient.SyncConversationReadStatusListener listener) |
void |
addTypingStatusListener(RongIMClient.TypingStatusListener listener) |
void |
cancelDownloadMediaMessage(Message message,
RongIMClient.OperationCallback callback) |
void |
cancelSendMediaMessage(Message message,
RongIMClient.OperationCallback callback)
取消发送多媒体文件。
|
void |
cleanHistoryMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
long recordTime,
boolean cleanRemote,
RongIMClient.OperationCallback callback)
删除指定时间戳之前的消息,可选择是否同时删除服务器端消息
|
void |
clearConversations(RongIMClient.ResultCallback callback,
Conversation.ConversationType... conversationTypes)
清空所有会话及会话消息,回调方式通知是否清空成功。
|
void |
clearMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
根据会话类型,清空某一会话的所有聊天消息记录,回调方式获取清空是否成功。
|
void |
clearMessagesUnreadStatus(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
清除某会话的消息未读状态
|
void |
clearTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
清除某一会话的文字消息草稿,回调方式获取清除是否成功。
|
void |
connect(java.lang.String token,
int timeLimit,
RongIMClient.ConnectCallback connectCallback) |
void |
connect(java.lang.String token,
RongIMClient.ConnectCallback connectCallback) |
void |
deleteMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
<any> callback)
清除指定会话的消息
|
void |
deleteMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
int[] messageIds,
<any> callback)
删除会话里的一条或多条消息。
|
void |
deleteRemoteMessages(Conversation.ConversationType conversationType,
java.lang.String targetId,
Message[] messages,
RongIMClient.OperationCallback callback)
删除指定的一条或者一组消息。会同时删除本地和远端消息。
|
void |
disconnect()
断开连接(断开后继续接收 Push 消息)。
|
void |
downloadMedia(Conversation.ConversationType conversationType,
java.lang.String targetId,
RongIMClient.MediaType mediaType,
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)
下载文件
用来获取媒体原文件时调用。如果本地缓存中包含此文件,则从本地缓存中直接获取,否则将从服务器端下载。
|
android.content.Context |
getContext() |
RongIMClient.ConnectionStatusListener.ConnectionStatus |
getCurrentConnectionStatus() |
static IMCenter |
getInstance() |
void |
handleBeforeSend(Message message)
发送消息之前的内部逻辑处理。
|
static void |
init(android.app.Application application,
java.lang.String appKey,
boolean isEnablePush)
初始化 SDK,在整个应用程序全局,只需要调用一次。
|
void |
insertIncomingMessage(Conversation.ConversationType type,
java.lang.String targetId,
java.lang.String senderId,
Message.ReceivedStatus receivedStatus,
MessageContent content,
<any> resultCallback) |
void |
insertIncomingMessage(Conversation.ConversationType type,
java.lang.String targetId,
java.lang.String senderId,
Message.ReceivedStatus receivedStatus,
MessageContent content,
long time,
<any> resultCallback) |
void |
insertOutgoingMessage(Conversation.ConversationType type,
java.lang.String targetId,
Message.SentStatus sentStatus,
MessageContent content,
<any> resultCallback) |
void |
insertOutgoingMessage(Conversation.ConversationType type,
java.lang.String targetId,
Message.SentStatus sentStatus,
MessageContent content,
long time,
<any> resultCallback) |
void |
logout()
注销当前登录,执行该方法后不会再收到 push 消息。
|
void |
pauseDownloadMediaMessage(Message message,
RongIMClient.OperationCallback callback)
暂停下载多媒体文件
|
void |
recallMessage(Message message,
java.lang.String pushContent,
RongIMClient.ResultCallback callback) |
void |
refreshMessage(Message message)
通知会话页面刷新某条消息
|
void |
removeConnectionStatusListener(RongIMClient.ConnectionStatusListener listener)
移除连接状态监听器
|
void |
removeConnectStatusListener(RongIMClient.ConnectCallback callback) |
void |
removeConversation(Conversation.ConversationType type,
java.lang.String targetId,
<any> callback)
从会话列表中移除某一会话,但是不删除会话内的消息。
如果此会话中有新的消息,该会话将重新在会话列表中显示,并显示最近的历史消息。
|
void |
removeConversationEventListener(ConversationEventListener listener) |
void |
removeConversationStatusListener(RongIMClient.ConversationStatusListener listener) |
void |
removeMessageEventListener(MessageEventListener listener) |
void |
removeOnRecallMessageListener(RongIMClient.OnRecallMessageListener listener) |
void |
removeOnReceiveMessageListener(RongIMClient.OnReceiveMessageWrapperListener listener) |
void |
removeReadReceiptListener(RongIMClient.ReadReceiptListener listener) |
void |
removeSyncConversationReadStatusListeners(RongIMClient.SyncConversationReadStatusListener listener) |
void |
removeTypingStatusListener(RongIMClient.TypingStatusListener listener) |
void |
saveTextMessageDraft(Conversation.ConversationType conversationType,
java.lang.String targetId,
java.lang.String content,
<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)
发送定向消息。向会话中特定的某些用户发送消息,会话中其他用户将不会收到此消息。
通过
IRongCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。 |
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)
发送消息。
通过
IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。 |
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)
发送消息。
通过
IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。 |
void |
sendReadReceiptMessage(Conversation.ConversationType conversationType,
java.lang.String targetId,
long timestamp,
IRongCallback.ISendMessageCallback callback)
发送已读回执,该方法会触发刷新消息未读数
|
static void |
setConversationClickListener(ConversationClickListener listener)
设置会话界面操作的监听器。
|
static void |
setConversationListBehaviorListener(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,
boolean needCreate,
<any> callback)
设置某一会话为置顶或者取消置顶,回调方式获取设置是否成功。
|
void |
setMessageInterceptor(MessageInterceptor messageInterceptor)
设置接收消息时的拦截器
|
void |
setMessageSentStatus(Message message,
<any> callback)
根据消息 Message 设置消息状态,回调方式获取设置是否成功。
|
void |
supportResumeBrokenTransfer(java.lang.String url,
<any> callback)
判断是否支持断点续传。
|
void |
syncConversationReadStatus(Conversation.ConversationType type,
java.lang.String targetId,
long timestamp,
RongIMClient.OperationCallback callback)
同步会话阅读状态。
|
public static IMCenter getInstance()
public static void init(android.app.Application application, java.lang.String appKey, boolean isEnablePush)
application
- 应用上下文。appKey
- 在融云开发者后台注册的应用 AppKey。isEnablePush
- 是否使用推送功能public void connect(java.lang.String token, int timeLimit, RongIMClient.ConnectCallback connectCallback)
public void clearMessages(Conversation.ConversationType conversationType, java.lang.String targetId, <any> callback)
conversationType
- 会话类型。不支持传入 ConversationType.CHATROOM。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 清空是否成功的回调。public void connect(java.lang.String token, RongIMClient.ConnectCallback connectCallback)
public void recallMessage(Message message, java.lang.String pushContent, RongIMClient.ResultCallback callback)
public RongIMClient.ConnectionStatusListener.ConnectionStatus getCurrentConnectionStatus()
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
中的方法回调发送的消息状态及消息体。
注意: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
- 发送消息的回调。参考 IRongCallback.ISendMessageCallback
。public void sendMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMessageCallback callback)
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()
方法获取。callback
- 发送消息的回调,参考 IRongCallback.ISendMessageCallback
。public void sendReadReceiptMessage(Conversation.ConversationType conversationType, java.lang.String targetId, long timestamp, IRongCallback.ISendMessageCallback callback)
通过 IRongCallback.ISendMessageCallback
中的方法回调发送的消息状态及消息体。
注意:1 秒钟发送消息不能超过 5 条。
conversationType
- 会话类型。targetId
- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。timestamp
- 时间戳callback
- 发送消息的回调。参考 IRongCallback.ISendMessageCallback
。public void syncConversationReadStatus(Conversation.ConversationType type, java.lang.String targetId, long timestamp, RongIMClient.OperationCallback callback)
type
- 会话类型targetId
- 会话 idtimestamp
- 会话中已读的最后一条消息的发送时间戳 Message#getSentTime()
callback
- 回调函数public static void setConversationClickListener(ConversationClickListener listener)
listener
- 会话界面操作的监听器。public static void setConversationListBehaviorListener(ConversationListBehaviorListener listener)
listener
- 会话列表界面操作的监听器。public void sendMediaMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMediaMessageCallback 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.ISendMediaMessageCallback
。public void sendMediaMessage(Message message, java.lang.String pushContent, java.lang.String pushData, IRongCallback.ISendMediaMessageCallbackWithUploader callback)
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。根据不同的 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
- 发送消息的回调,参考 IRongCallback.ISendMessageCallback
。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
- 发送消息的回调 RongIMClient.SendMediaMessageCallback
。public void cleanHistoryMessages(Conversation.ConversationType conversationType, java.lang.String targetId, long recordTime, boolean cleanRemote, RongIMClient.OperationCallback callback)
此方法可从服务器端清除历史消息,但是必须先开通历史消息云存储功能。
根据会话类型和会话 id 清除某一会话指定时间戳之前的本地数据库消息(服务端历史消息),
清除成功后只能从本地数据库(服务端)获取到该时间戳之后的历史消息。
conversationType
- 会话类型。targetId
- 会话 id。recordTime
- 清除消息截止时间戳,【0 <= recordTime <= 当前会话最后一条消息的 sentTime,0 清除所有消息,其他值清除小于等于 recordTime 的消息】。cleanRemote
- 是否删除服务器端消息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 clearTextMessageDraft(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 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, boolean needCreate, <any> callback)
type
- 会话类型。id
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id 或聊天室 Id。isTop
- 是否置顶。needCreate
- 会话不存在时,是否创建会话。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 insertOutgoingMessage(Conversation.ConversationType type, java.lang.String targetId, Message.SentStatus sentStatus, MessageContent content, <any> resultCallback)
public void insertOutgoingMessage(Conversation.ConversationType type, java.lang.String targetId, Message.SentStatus sentStatus, MessageContent content, long time, <any> resultCallback)
public void insertIncomingMessage(Conversation.ConversationType type, java.lang.String targetId, java.lang.String senderId, Message.ReceivedStatus receivedStatus, MessageContent content, <any> resultCallback)
public void insertIncomingMessage(Conversation.ConversationType type, java.lang.String targetId, java.lang.String senderId, Message.ReceivedStatus receivedStatus, MessageContent content, long time, <any> resultCallback)
public void deleteMessages(Conversation.ConversationType conversationType, java.lang.String targetId, <any> callback)
清除指定会话的消息
。此接口会删除指定会话中数据库的所有消息,同时,会清理数据库空间。 如果数据库特别大,超过几百 M,调用该接口会有少许耗时。
conversationType
- 要删除的消息 Id 数组。targetId
- 目标 Id。根据不同的 conversationType,可能是用户 Id、讨论组 Id、群组 Id。callback
- 是否删除成功的回调。public void deleteMessages(Conversation.ConversationType conversationType, java.lang.String targetId, int[] messageIds, <any> callback)
conversationType
- targetId
- messageIds
- 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 disconnect()
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 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 cancelDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)
public void clearConversations(RongIMClient.ResultCallback callback, Conversation.ConversationType... conversationTypes)
callback
- 是否清空成功的回调。conversationTypes
- 会话类型。public void downloadMediaMessage(Message message, IRongCallback.IDownloadMediaMessageCallback callback)
message
- 文件消息。callback
- 下载文件的回调。public void logout()
public void setMessageInterceptor(MessageInterceptor messageInterceptor)
messageInterceptor
- 拦截器public void supportResumeBrokenTransfer(java.lang.String url, <any> callback)
url
- 文件 Urlcallback
- 回调public void pauseDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)
message
- 包含多媒体文件的消息,即MessageContent
为 FileMessage, ImageMessage 等。callback
- 暂停下载多媒体文件时的回调public void refreshMessage(Message message)
message
- public android.content.Context getContext()
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
- 发送消息的回调,参考 IRongCallback.ISendMessageCallback
。public void setMessageSentStatus(Message message, <any> callback)
message
- 消息实体。要设置的发送状态包含在 message 中callback
- 是否设置成功的回调。public void handleBeforeSend(Message message)
message
- 待发送的消息public void cancelSendMediaMessage(Message message, RongIMClient.OperationCallback callback)
message
- 包含多媒体文件的消息,即MessageContent
为 FileMessage, ImageMessage 等。callback
- 取消发送多媒体文件时的回调。public void addOnReceiveMessageListener(RongIMClient.OnReceiveMessageWrapperListener listener)
public void removeOnReceiveMessageListener(RongIMClient.OnReceiveMessageWrapperListener listener)
public void addSyncConversationReadStatusListener(RongIMClient.SyncConversationReadStatusListener listener)
public void removeSyncConversationReadStatusListeners(RongIMClient.SyncConversationReadStatusListener listener)
public void addConnectStatusListener(RongIMClient.ConnectCallback callback)
public void removeConnectStatusListener(RongIMClient.ConnectCallback callback)
public void addConnectionStatusListener(RongIMClient.ConnectionStatusListener listener)
当回调状态为RongIMClient.ConnectionStatusListener.ConnectionStatus#TOKEN_INCORRECT
,
需要获取正确的token, 并主动调用RongIM.connect(String, int, RongIMClient.ConnectCallback)
listener
- 连接状态变化的监听器。public void removeConnectionStatusListener(RongIMClient.ConnectionStatusListener listener)
listener
- 连接状态变化监听器public void addConversationEventListener(ConversationEventListener listener)
public void removeConversationEventListener(ConversationEventListener listener)
public void addMessageEventListener(MessageEventListener listener)
public void removeMessageEventListener(MessageEventListener listener)
public void addConversationStatusListener(RongIMClient.ConversationStatusListener listener)
public void removeConversationStatusListener(RongIMClient.ConversationStatusListener listener)
public void addOnRecallMessageListener(RongIMClient.OnRecallMessageListener listener)
public void removeOnRecallMessageListener(RongIMClient.OnRecallMessageListener listener)
public void addReadReceiptListener(RongIMClient.ReadReceiptListener listener)
public void removeReadReceiptListener(RongIMClient.ReadReceiptListener listener)
public void addTypingStatusListener(RongIMClient.TypingStatusListener listener)
public void removeTypingStatusListener(RongIMClient.TypingStatusListener listener)