hyphenate_SDK3.0 3.9.9.2
hyphenate java IM SDK
|
类 | |
enum | SubscribeMode |
Public 成员函数 | |
void | sendMessage (final EMMessage msg) |
void | ackConversationRead (String conversationId) throws HyphenateException |
void | ackMessageRead (String to, String messageId) throws HyphenateException |
void | ackGroupMessageRead (String to, String messageId, String ext) throws HyphenateException |
void | recallMessage (EMMessage message) throws HyphenateException |
void | asyncRecallMessage (final EMMessage message, final EMCallBack callback) |
EMMessage | getMessage (String messageId) |
EMConversation | getConversation (String id) |
EMConversation | getConversation (String id, EMConversationType type) |
EMConversation | getConversation (String username, EMConversationType type, boolean createIfNotExists) |
EMConversation | getConversation (String username, EMConversationType type, boolean createIfNotExists, boolean isChatThread) |
EMConversation | getConversation (String username, EMConversationType type, boolean createIfNotExists, boolean isChatThread, boolean isChannel) |
void | markAllConversationsAsRead () |
int | getUnreadMessageCount () |
void | saveMessage (EMMessage message) |
boolean | updateMessage (EMMessage message) |
void | downloadAttachment (final EMMessage msg) |
void | downloadThumbnail (final EMMessage msg) |
synchronized void | importMessages (List< EMMessage > msgs) |
List< EMConversation > | getConversationsByType (EMConversationType type) |
Map< String, EMConversation > | getAllConversations () |
Map< String, EMConversation > | fetchConversationsFromServer () throws HyphenateException |
void | asyncFetchConversationsFromServer (final EMValueCallBack< Map< String, EMConversation > > callBack) |
void | loadAllConversations () |
boolean | deleteConversation (String username, boolean deleteMessages) |
void | deleteConversationFromServer (String username, EMConversationType type, boolean isDeleteServerMessages, EMCallBack deleteCallBack) |
void | addMessageListener (EMMessageListener listener) |
void | removeMessageListener (EMMessageListener listener) |
void | addConversationListener (EMConversationListener listener) |
void | removeConversationListener (EMConversationListener listener) |
void | setVoiceMessageListened (EMMessage message) |
boolean | updateParticipant (String from, String changeTo) |
EMCursorResult< EMGroupReadAck > | fetchGroupReadAcks (String msgId, int pageSize, String startAckId) throws HyphenateException |
void | asyncFetchGroupReadAcks (final String msgId, final int pageSize, final String startAckId, final EMValueCallBack< EMCursorResult< EMGroupReadAck > > callBack) |
EMCursorResult< EMMessage > | fetchHistoryMessages (String conversationId, EMConversationType type, int pageSize, String startMsgId) throws HyphenateException |
EMCursorResult< EMMessage > | fetchHistoryMessages (String conversationId, EMConversationType type, int pageSize, String startMsgId, EMConversation.EMSearchDirection direction) throws HyphenateException |
void | asyncFetchHistoryMessage (final String conversationId, final EMConversationType type, final int pageSize, final String startMsgId, final EMValueCallBack< EMCursorResult< EMMessage > > callBack) |
void | asyncFetchHistoryMessage (final String conversationId, final EMConversationType type, final int pageSize, final String startMsgId, final EMConversation.EMSearchDirection direction, final EMValueCallBack< EMCursorResult< EMMessage > > callBack) |
List< EMMessage > | searchMsgFromDB (Type type, long timeStamp, int maxCount, String from, EMConversation.EMSearchDirection direction) |
List< EMMessage > | searchMsgFromDB (String keywords, long timeStamp, int maxCount, String from, EMConversation.EMSearchDirection direction) |
void | deleteMessagesBeforeTimestamp (long timeStamp, EMCallBack callback) |
void | asyncReportMessage (String msgId, String reportTarget, String reportReason, EMCallBack callBack) |
void | reportMessage (String msgId, String reportTarget, String reportReason) throws HyphenateException |
void | fetchSupportLanguages (EMValueCallBack< List< EMLanguage > > callBack) |
void | translateMessage (EMMessage message, List< String > languages, EMValueCallBack< EMMessage > callBack) |
void | addReaction (final String messageId, final String reaction) throws HyphenateException |
void | asyncAddReaction (final String messageId, final String reaction, final EMCallBack callback) |
void | removeReaction (final String messageId, final String reaction) throws HyphenateException |
void | asyncRemoveReaction (final String messageId, final String reaction, final EMCallBack callback) |
Map< String, List< EMMessageReaction > > | getReactionList (final List< String > messageIdList, final EMMessage.ChatType chatType, final String groupId) throws HyphenateException |
void | asyncGetReactionList (final List< String > messageIdList, final EMMessage.ChatType chatType, final String groupId, final EMValueCallBack< Map< String, List< EMMessageReaction > > > callback) |
EMCursorResult< EMMessageReaction > | getReactionDetail (final String messageId, final String reaction, final String cursor, final int pageSize) throws HyphenateException |
void | asyncGetReactionDetail (final String messageId, final String reaction, final String cursor, final int pageSize, final EMValueCallBack< EMCursorResult< EMMessageReaction > > callback) |
void | clearCaches (String conversationId, long beforeTimeStamp) |
void | clearCaches (String conversationId, List< String > msgIdList) |
void | setConversationSubscribeMode (String conversationId, SubscribeMode mode) |
Protected 成员函数 | |
EMChatManager (EMClient client, EMAChatManager manager, EMAReactionManager reactionManager) | |
void | removeMessagesFromServer (String conversationId, EMConversationType type, List< String > msgIdList, EMCallBack callBack) |
void | removeMessagesFromServer (String conversationId, EMConversationType type, long beforeTimeStamp, EMCallBack callBack) |
聊天管理类,该类负责管理会话(加载,删除等)、发送消息、下载消息附件等。
发送文文本消息示例如下:
void com.hyphenate.chat.EMChatManager.ackConversationRead | ( | String | conversationId | ) | throws HyphenateException |
发送会话的已读回执,该方法只针对单聊会话。
该方法会通知服务器将此会话未读数设置为 0,消息发送方将会收到 EMConversationListener#onConversationRead(String, String) 回调。 在多端多设备登录下,接收方的其他设备也会收到该回调。
群消息已读回执,详见 ackGroupMessageRead(String, String, String)。
conversationId | 会话 ID。 |
HyphenateException | 可能抛出以下异常:EMError#USER_NOT_LOGIN、EMError#SERVER_NOT_REACHABLE、 EMError#MESSAGE_INVALID 等,详见 EMError。 |
void com.hyphenate.chat.EMChatManager.ackGroupMessageRead | ( | String | to, |
String | messageId, | ||
String | ext | ||
) | throws HyphenateException |
发送群消息已读回执。
注意
设置了 EMOptions#setRequireAck(boolean) 和 EMMessage#setIsNeedGroupAck(boolean) 后才能调用该方法。
发送单聊消息已读回执,详见 ackMessageRead(String, String)
会话已读回执,详见 ackConversationRead(String)。
to | 会话 ID。 |
messageId | 消息 ID。 |
ext | 扩展信息。用户通过定义关键字指定动作或命令。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
void com.hyphenate.chat.EMChatManager.ackMessageRead | ( | String | to, |
String | messageId | ||
) | throws HyphenateException |
发送消息的已读回执。
该方法仅适用于单聊会话,仅在 EMOptions#setRequireAck(boolean) 为 true
时生效。
发送群消息已读回执,详见 ackGroupMessageRead(String, String, String)。
推荐进入聊天页面的时调用 ackConversationRead(String) ,其他情况下调用该方法以减少调用频率。
to | 接收方的用户 ID。 |
messageId | 消息的 ID。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
void com.hyphenate.chat.EMChatManager.addConversationListener | ( | EMConversationListener | listener | ) |
注册会话监听器。
会话监听器可监听会话变化及会话已读回执。
在不需要会话监听器时,可调用 removeConversationListener(EMConversationListener) 方法移除。
listener | 要添加的会话监听,详见 EMConversationListener。 |
void com.hyphenate.chat.EMChatManager.addMessageListener | ( | EMMessageListener | listener | ) |
注册消息监听器。
接收到新消息等回调可以通过设置此方法进行监听。
在不需要消息监听器时,可调用 removeMessageListener(EMMessageListener) 方法将其移除。
listener | 要注册的消息监听,详见 EMMessageListener。 |
void com.hyphenate.chat.EMChatManager.addReaction | ( | final String | messageId, |
final String | reaction | ||
) | throws HyphenateException |
添加 Reaction。
同步方法。
messageId | 消息 ID。 |
reaction | 要添加的消息 Reaction。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
void com.hyphenate.chat.EMChatManager.asyncAddReaction | ( | final String | messageId, |
final String | reaction, | ||
final EMCallBack | callback | ||
) |
添加 Reaction。
异步方法。
messageId | 消息 ID。 |
reaction | 要添加的消息 Reaction。 |
callback | 处理结果回调,失败会返回失败原因。详见 EMCallBack。 |
void com.hyphenate.chat.EMChatManager.asyncFetchConversationsFromServer | ( | final EMValueCallBack< Map< String, EMConversation > > | callBack | ) |
从服务器获取会话列表。
该功能需联系商务开通。开通后,用户默认可拉取 7 天内的 10 个会话(每个会话包含最新一条历史消息)。如需调整会话数量或时间限制请联系商务经理。
异步方法。
void com.hyphenate.chat.EMChatManager.asyncFetchGroupReadAcks | ( | final String | msgId, |
final int | pageSize, | ||
final String | startAckId, | ||
final EMValueCallBack< EMCursorResult< EMGroupReadAck > > | callBack | ||
) |
从服务器分页获取群组消息已读回执详情。
发送群组消息回执,可调用 ackGroupMessageRead(String, String, String)。
异步方法。
msgId | 消息 ID。 |
pageSize | 每页获取的群消息已读回执数。取值范围为 [1,50]。 |
startAckId | 查询起始的已读回执 ID。该参数设置后,SDK 从指定的已读回执 ID 开始,按服务器接收已读回执的时间的逆序获取。 若该参数为空,SDK 从最新的已读回执开始按服务器接收回执时间的逆序获取。 |
callBack | 结果回调。
|
void com.hyphenate.chat.EMChatManager.asyncFetchHistoryMessage | ( | final String | conversationId, |
final EMConversationType | type, | ||
final int | pageSize, | ||
final String | startMsgId, | ||
final EMConversation.EMSearchDirection | direction, | ||
final EMValueCallBack< EMCursorResult< EMMessage > > | callBack | ||
) |
从服务器分页获取指定会话的历史消息。
异步方法。
conversationId | 会话 ID。 |
type | 会话类型,详见 EMConversationType。 |
pageSize | 每页期望获取的消息数。取值范围为 [1,50]。 |
startMsgId | 查询的起始消息 ID。该参数设置后,SDK 从指定的消息 ID 开始,按消息搜索方向获取。 如果传入消息的 ID 为空,SDK 忽略该参数,按搜索方向查询消息。
|
direction | 消息搜索方向。详见 EMConversation.EMSearchDirection。
|
callBack | 结果回调:
|
void com.hyphenate.chat.EMChatManager.asyncFetchHistoryMessage | ( | final String | conversationId, |
final EMConversationType | type, | ||
final int | pageSize, | ||
final String | startMsgId, | ||
final EMValueCallBack< EMCursorResult< EMMessage > > | callBack | ||
) |
从服务器分页获取指定会话的历史消息。
异步方法。
conversationId | 会话 ID。 |
type | 会话类型,详见 EMConversationType。 |
pageSize | 每页期望获取的消息条数。取值范围为 [1,50]。 |
startMsgId | 查询的起始消息 ID。该参数设置后,SDK 从指定的消息 ID 开始,按服务器接收消息的时间的逆序获取。 若该参数为空,SDK 从最新的消息开始,按服务器接收消息的时间的逆序获取。 |
callBack | 结果回调,成功则执行 EMValueCallBack#onSuccess(Object),返回消息列表(不包含查询起始 ID 的消息)和下次查询的 cursor; 失败则执行 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatManager.asyncGetReactionDetail | ( | final String | messageId, |
final String | reaction, | ||
final String | cursor, | ||
final int | pageSize, | ||
final EMValueCallBack< EMCursorResult< EMMessageReaction > > | callback | ||
) |
获取 Reaction 详细信息。
异步方法。
messageId | 消息 ID。 |
reaction | 消息 Reaction。 |
cursor | 查询的起始游标位置。 |
pageSize | 每页期望获取的 Reaction 数。 |
callback | 处理结果回调,包含 cursor 和 EMMessageReaction 列表(仅使用该列表第一个数据即可)。 |
void com.hyphenate.chat.EMChatManager.asyncGetReactionList | ( | final List< String > | messageIdList, |
final EMMessage.ChatType | chatType, | ||
final String | groupId, | ||
final EMValueCallBack< Map< String, List< EMMessageReaction > > > | callback | ||
) |
获取 Reaction 列表。
异步方法。
messageIdList | 消息 ID。 |
chatType | 会话类型,仅支持单聊(EMMessage.ChatType#Chat )和群聊(EMMessage.ChatType#GroupChat)。 |
groupId | 群组 ID,该参数只对群聊生效。 |
callback | 处理结果回调,包含消息 ID 对应的 Reaction 列表(EMMessageReaction 的用户列表 UserList 为概要数据,只包含前三个用户信息)。 |
void com.hyphenate.chat.EMChatManager.asyncRecallMessage | ( | final EMMessage | message, |
final EMCallBack | callback | ||
) |
void com.hyphenate.chat.EMChatManager.asyncRemoveReaction | ( | final String | messageId, |
final String | reaction, | ||
final EMCallBack | callback | ||
) |
void com.hyphenate.chat.EMChatManager.asyncReportMessage | ( | String | msgId, |
String | reportTarget, | ||
String | reportReason, | ||
EMCallBack | callBack | ||
) |
举报非法消息。
异步方法。
msgId | 非法消息的 ID。 |
reportTarget | 非法消息标签,如涉政或涉恐。 |
reportReason | 举报原因。 |
callBack | 结果回调,详见 EMCallBack:
|
boolean com.hyphenate.chat.EMChatManager.deleteConversation | ( | String | username, |
boolean | deleteMessages | ||
) |
删除指定会话及其本地历史消息。
username | 会话 ID。 |
deleteMessages | 删除会话时是否同时删除本地的历史消息。
|
true
:是;false
: 否。 void com.hyphenate.chat.EMChatManager.deleteConversationFromServer | ( | String | username, |
EMConversationType | type, | ||
boolean | isDeleteServerMessages, | ||
EMCallBack | deleteCallBack | ||
) |
删除服务端的指定会话及其历史消息。
异步方法。
username | 会话 ID。 |
type | 会话类型,详见 EMConversationType。 |
isDeleteServerMessages | 删除会话时是否同时删除历史消息。
|
deleteCallBack | 删除服务端会话及其历史消息成功与否的回调。
|
void com.hyphenate.chat.EMChatManager.deleteMessagesBeforeTimestamp | ( | long | timeStamp, |
EMCallBack | callback | ||
) |
删除指定时间戳之前的本地历史消息。
timeStamp | 查询的消息的起始 Unix 时间戳,单位为毫秒。 |
callback | 删除结果回调,详见 EMCallBack。 |
void com.hyphenate.chat.EMChatManager.downloadAttachment | ( | final EMMessage | msg | ) |
下载消息的附件。
若附件自动下载失败,也可以调用此方法下载。
msg | 要下载附件的消息。 |
void com.hyphenate.chat.EMChatManager.downloadThumbnail | ( | final EMMessage | msg | ) |
下载消息的缩略图。
msg | 要下载缩略图的消息。只有图片消息和视频消息有缩略图。 |
Map< String, EMConversation > com.hyphenate.chat.EMChatManager.fetchConversationsFromServer | ( | ) | throws HyphenateException |
从服务器获取会话列表。
该功能需联系商务开通。开通后,用户默认可拉取 7 天内的 10 个会话(每个会话包含最新一条历史消息)。如需调整会话数量或时间限制请联系商务经理。
同步方法,会阻塞当前线程。
EMCursorResult< EMGroupReadAck > com.hyphenate.chat.EMChatManager.fetchGroupReadAcks | ( | String | msgId, |
int | pageSize, | ||
String | startAckId | ||
) | throws HyphenateException |
从服务器分页获取群组消息已读回执详情。
发送群组消息回执,可调用 ackGroupMessageRead(String, String, String)。
同步方法,会阻塞当前线程。
msgId | 消息 ID。 |
pageSize | 每页期望返回的群消息已读数。取值范围[1,50]。 |
startAckId | 查询起始的已读回执 ID。该参数设置后,SDK 从指定的已读回执 ID 开始,按服务器接收已读回执的时间的逆序获取。 若该参数为空,SDK 从最新的已读回执开始按服务器接收回执时间的逆序获取。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
EMCursorResult< EMMessage > com.hyphenate.chat.EMChatManager.fetchHistoryMessages | ( | String | conversationId, |
EMConversationType | type, | ||
int | pageSize, | ||
String | startMsgId | ||
) | throws HyphenateException |
从服务器分页获取指定会话的历史消息。
同步方法,会阻塞当前线程。
conversationId | 会话 ID。 |
type | 会话类型, 详见 EMConversationType。 |
pageSize | 每页期望获取的消息条数。取值范围为 [1,50]。 |
startMsgId | 开始获取的消息 ID。该参数设置后,SDK 从指定的消息 ID 开始,按服务器接收消息的时间的逆序获取。 若该参数为空,SDK 从最新的消息开始,按服务器接收消息的时间的逆序获取。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
EMCursorResult< EMMessage > com.hyphenate.chat.EMChatManager.fetchHistoryMessages | ( | String | conversationId, |
EMConversationType | type, | ||
int | pageSize, | ||
String | startMsgId, | ||
EMConversation.EMSearchDirection | direction | ||
) | throws HyphenateException |
从服务器分页获取指定会话的历史消息。
同步方法,会阻塞当前线程。
conversationId | 会话 ID。 |
type | 会话类型, 详见 EMConversationType。 |
pageSize | 每页期望获取的消息条数。取值范围为 [1,50]。 |
startMsgId | 查询的起始消息 ID。该参数设置后,SDK 从指定的消息 ID 开始,按消息检索方向获取。如果传入消息的 ID 为空,SDK 忽略该参数,按搜索方向查询消息。
|
direction | 消息检索方向。详见 EMConversation.EMSearchDirection。
|
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
void com.hyphenate.chat.EMChatManager.fetchSupportLanguages | ( | EMValueCallBack< List< EMLanguage > > | callBack | ) |
获取翻译服务支持的语言。
callBack | 结果回调,详见 EMCallBack。
|
Map< String, EMConversation > com.hyphenate.chat.EMChatManager.getAllConversations | ( | ) |
获取本地当前所有会话。
该方法会先从内存中获取,如果未找到任何会话,从本地数据库获取。当数据库文件较大时,可能会耗时较长,建议此时放在异步线程中调用。
EMConversation com.hyphenate.chat.EMChatManager.getConversation | ( | String | id | ) |
获取指定 ID 的会话对象。
id | 会话 ID。 |
EMConversation com.hyphenate.chat.EMChatManager.getConversation | ( | String | id, |
EMConversationType | type | ||
) |
根据会话 ID 以及会话类型获取会话。
没有找到返回空值。
id | 会话 ID。
|
type | 会话类型,详见 EMConversationType。 |
EMConversation com.hyphenate.chat.EMChatManager.getConversation | ( | String | username, |
EMConversationType | type, | ||
boolean | createIfNotExists | ||
) |
根据会话 ID 和会话类型获取会话。
username | 会话 ID。
|
type | 会话类型,详见 EMConversationType。 |
createIfNotExists | 未找到指定会话时是否创建一个新会话。
|
EMConversation com.hyphenate.chat.EMChatManager.getConversation | ( | String | username, |
EMConversationType | type, | ||
boolean | createIfNotExists, | ||
boolean | isChatThread | ||
) |
根据会话 ID 以及会话类型获取会话。
username | 会话 ID。
|
type | 会话类型,详见 EMConversationType。 |
createIfNotExists | 未找到指定会话时是否创建一个新会话。
|
isChatThread | 是否查找子区会话。
|
EMConversation com.hyphenate.chat.EMChatManager.getConversation | ( | String | username, |
EMConversationType | type, | ||
boolean | createIfNotExists, | ||
boolean | isChatThread, | ||
boolean | isChannel | ||
) |
根据用户或群组id以及会话类型获取会话。
没有找到的话,根据createIfNotExists的值返回一个新建对象或者空对象。
username | 会话ID。 |
type | 会话类型。 |
createIfNotExists | 没找到相应会话时是否自动创建。
|
isChatThread | 是否查找子区会话。
|
isChannel | 是否在channel场景下查找。
|
List< EMConversation > com.hyphenate.chat.EMChatManager.getConversationsByType | ( | EMConversationType | type | ) |
EMMessage com.hyphenate.chat.EMChatManager.getMessage | ( | String | messageId | ) |
获取指定 ID 的消息对象。
messageId | 消息 ID。 |
EMCursorResult< EMMessageReaction > com.hyphenate.chat.EMChatManager.getReactionDetail | ( | final String | messageId, |
final String | reaction, | ||
final String | cursor, | ||
final int | pageSize | ||
) | throws HyphenateException |
获取 Reaction 详细信息。
同步方法。
messageId | 消息 ID。 |
reaction | 消息 Reaction 内容。 |
cursor | 查询的起始游标位置。 |
pageSize | 每页期望获取的 Reaction 数。 |
cursor
为空表示数据已全部获取。 Map< String, List< EMMessageReaction > > com.hyphenate.chat.EMChatManager.getReactionList | ( | final List< String > | messageIdList, |
final EMMessage.ChatType | chatType, | ||
final String | groupId | ||
) | throws HyphenateException |
获取 Reaction 列表。
同步方法。
messageIdList | 消息 ID。 |
chatType | 会话类型,仅支持单聊(EMMessage.ChatType#Chat)和群聊(EMMessage.ChatType#GroupChat)。 |
groupId | 群组 ID,该参数仅对群聊生效。 |
EMMessageReaction
的用户列表 UserList
为概要数据,只包含前三个用户信息)。 int com.hyphenate.chat.EMChatManager.getUnreadMessageCount | ( | ) |
获取未读消息数。
synchronized void com.hyphenate.chat.EMChatManager.importMessages | ( | List< EMMessage > | msgs | ) |
将消息导入本地数据库。
你只能将你发送或接收的消息导入本地数据库。
推荐一次导入 1,000 条以内的数据。
msgs | 需要导入数据库的消息。 |
void com.hyphenate.chat.EMChatManager.loadAllConversations | ( | ) |
从数据库加载本地所有的会话到内存中。
一般在登录成功后使用此方法,可以加快会话列表的加载速度。
void com.hyphenate.chat.EMChatManager.markAllConversationsAsRead | ( | ) |
将所有会话都设成已读。
该方法仅适用于本地会话。
void com.hyphenate.chat.EMChatManager.recallMessage | ( | EMMessage | message | ) | throws HyphenateException |
撤回发送成功的消息。
若消息发送和撤回时接收方为离线状态,接收方会收到消息撤回回调 EMMessageListener#onMessageRecalled,不会收到该消息。
同步方法,会阻塞当前线程。
message | 消息对象。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
void com.hyphenate.chat.EMChatManager.removeConversationListener | ( | EMConversationListener | listener | ) |
移除会话监听器。
调用 addConversationListener(EMConversationListener) 添加会话监听器后再调用本方法移除。
listener | 要移除的会话监听器,详见 EMConversationListener。 |
void com.hyphenate.chat.EMChatManager.removeMessageListener | ( | EMMessageListener | listener | ) |
移除消息监听器。
调用 addMessageListener(EMMessageListener) 添加消息监听后再调用本方法移除。
listener | 要移除的监听器,详见 EMMessageListener。 |
|
protected |
单向删除漫游消息 (根据msgId删除)
conversationId | 会话ID |
type | 会话类型 |
msgIdList | msgId列表 |
callBack | 处理结果回调,详见 EMCallBack。 |
|
protected |
单向删除漫游消息 (根据时间节点删除 只提供向上删除)
conversationId | 会话ID |
type | 会话类型 |
beforeTimeStamp | 时间节点(毫秒) |
callBack | 处理结果回调,详见 EMCallBack。 |
void com.hyphenate.chat.EMChatManager.removeReaction | ( | final String | messageId, |
final String | reaction | ||
) | throws HyphenateException |
删除 Reaction。
同步方法。
messageId | 消息 ID。 |
reaction | 要删除的 Reaction。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
void com.hyphenate.chat.EMChatManager.reportMessage | ( | String | msgId, |
String | reportTarget, | ||
String | reportReason | ||
) | throws HyphenateException |
举报非法消息。
同步方法,会阻塞当前线程。
msgId | 非法消息的 ID。 |
reportTarget | 非法消息标签,如涉政或涉恐。 |
reportReason | 举报原因。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
void com.hyphenate.chat.EMChatManager.saveMessage | ( | EMMessage | message | ) |
List< EMMessage > com.hyphenate.chat.EMChatManager.searchMsgFromDB | ( | String | keywords, |
long | timeStamp, | ||
int | maxCount, | ||
String | from, | ||
EMConversation.EMSearchDirection | direction | ||
) |
从本地数据库获取指定会话中包含特定关键字的消息。
keywords | 查询关键字。 |
timeStamp | 查询的起始消息 Unix 时间戳,单位为毫秒。该参数设置后,SDK 从指定时间戳的消息开始,按消息搜索方向获取。 如果该参数设置为负数,SDK 从当前时间开始搜索。 |
maxCount | 每次获取的最大消息数。取值范围为 [1,400]。 |
from | 查询来自指定用户或者群组的消息,一般为会话 ID。 |
direction | 消息搜索方向。详见 EMConversation.EMSearchDirection。
|
List< EMMessage > com.hyphenate.chat.EMChatManager.searchMsgFromDB | ( | Type | type, |
long | timeStamp, | ||
int | maxCount, | ||
String | from, | ||
EMConversation.EMSearchDirection | direction | ||
) |
从本地数据库获取指定会话的一定数量的特定类型的消息。
type | 消息类型。详见 Type。 |
timeStamp | 查询的起始消息 Unix 时间戳,单位为毫秒。该参数设置后,SDK 从指定时间戳的消息开始,按消息搜索方向获取。 如果该参数设置为负数,SDK 从当前时间开始搜索。 |
maxCount | 每次获取的最大消息数。取值范围为 [1,400]。 |
from | 搜索来自指定用户或者群组的消息,一般为会话 ID。 |
direction | 消息搜索方向。详见 EMConversation.EMSearchDirection。
|
void com.hyphenate.chat.EMChatManager.sendMessage | ( | final EMMessage | msg | ) |
发送消息。
如果是语音,图片类等有附件的消息,SDK 会自动上传附件。
可以通过 EMOptions#setAutoTransferMessageAttachments(boolean) 设置是否上传到聊天服务器。
发送消息的状态,可以通过设置 EMMessage#setMessageStatusCallback(EMCallBack) 进行监听。
msg | 要发送的消息,必填。 |
void com.hyphenate.chat.EMChatManager.setConversationSubscribeMode | ( | String | conversationId, |
SubscribeMode | mode | ||
) |
设置会话订阅模式
conversationId | |
mode |
void com.hyphenate.chat.EMChatManager.setVoiceMessageListened | ( | EMMessage | message | ) |
将语音消息设置为已听。
message | 要设置的消息对象。 |
void com.hyphenate.chat.EMChatManager.translateMessage | ( | EMMessage | message, |
List< String > | languages, | ||
EMValueCallBack< EMMessage > | callBack | ||
) |
翻译一条文本消息。
message | 要翻译的消息对象。 |
languages | 目标语言代码列表。 |
callBack | 结果回调,详见 EMCallBack。
|
boolean com.hyphenate.chat.EMChatManager.updateMessage | ( | EMMessage | message | ) |
更新本地消息。
该方法会同时更新本地内存和数据库中的消息。
message | 要更新的消息对象。 |
boolean com.hyphenate.chat.EMChatManager.updateParticipant | ( | String | from, |
String | changeTo | ||
) |
将数据库中指定联系人的相关信息变更成另外一个联系人。
注意
from | 原联系人的用户 ID。 |
changeTo | 新联系人的用户 ID。 |
false
。