hyphenate_SDK4.0 4.10.0
hyphenate java IM SDK
|
继承自 com.hyphenate.chat.EMBase< T >, Parcelable , 以及 Cloneable .
类 | |
enum | ChatType |
enum | Direct |
enum | Status |
enum | Type |
Public 成员函数 | |
Status | status () |
void | setStatus (Status status) |
Type | getType () |
synchronized EMMessageBody | getBody () |
long | getMsgTime () |
void | setMsgTime (long msgTime) |
long | localTime () |
void | setLocalTime (long serverTime) |
boolean | isNeedGroupAck () |
void | setIsNeedGroupAck (boolean need) |
int | groupAckCount () |
void | setGroupAckCount (int count) |
void | setIsChatThreadMessage (boolean isChatThreadMessage) |
boolean | isChatThreadMessage () |
EMChatThread | getChatThread () |
void | setBody (EMMessageBody body) |
void | addBody (EMMessageBody body) |
String | getFrom () |
void | setFrom (String from) |
String | getRecaller () |
void | setTo (String to) |
String | getTo () |
String | getMsgId () |
void | setMsgId (String msgId) |
synchronized void | setMessageStatusCallback (EMCallBack callback) |
void | setAttribute (String attribute, boolean value) |
void | setAttribute (String attribute, int value) |
void | setAttribute (String attribute, long value) |
void | setAttribute (String attribute, float value) |
void | setAttribute (String attribute, double value) |
void | setAttribute (String attribute, JSONObject value) |
void | setAttribute (String attribute, JSONArray value) |
void | setAttribute (String attribute, String value) |
boolean | getBooleanAttribute (String attribute) throws HyphenateException |
boolean | getBooleanAttribute (String attribute, boolean defaultValue) |
int | getIntAttribute (String attribute, int defaultValue) |
long | getLongAttribute (String attribute, long defaultValue) |
float | getFloatAttribute (String attribute, float defaultValue) |
double | getDoubleAttribute (String attribute, double defaultValue) |
int | getIntAttribute (String attribute) throws HyphenateException |
long | getLongAttribute (String attribute) throws HyphenateException |
float | getFloatAttribute (String attribute) throws HyphenateException |
double | getDoubleAttribute (String attribute) throws HyphenateException |
String | getStringAttribute (String attribute) throws HyphenateException |
String | getStringAttribute (String attribute, String defaultValue) |
JSONObject | getJSONObjectAttribute (String attribute) throws HyphenateException |
JSONArray | getJSONArrayAttribute (String attribute) throws HyphenateException |
ChatType | getChatType () |
void | setChatType (ChatType chatType) |
boolean | isAcked () |
void | setAcked (boolean isAcked) |
boolean | isDelivered () |
void | setDelivered (boolean isDelivered) |
boolean | isUnread () |
void | setUnread (boolean unread) |
boolean | isListened () |
void | setListened (boolean isListened) |
String | getUserName () |
void | setDeliverAcked (boolean isDeliverAcked) |
int | progress () |
void | setProgress (int progress) |
Direct | direct () |
void | setDirection (Direct dir) |
String | conversationId () |
Map< String, Object > | ext () |
Map< String, Object > | getAttributes () |
List< EMMessageReaction > | getMessageReaction () |
boolean | isOnlineState () |
void | setPriority (EMChatRoomMessagePriority priority) |
boolean | isDeliverOnlineOnly () |
void | deliverOnlineOnly (boolean onlineOnly) |
void | setReceiverList (List< String > receiverList) |
List< String > | receiverList () |
boolean | isBroadcast () |
boolean | isContentReplaced () |
EMMessagePinInfo | pinnedInfo () |
静态 Public 成员函数 | |
static EMMessage | createSendMessage (Type type) |
static EMMessage | createReceiveMessage (Type type) |
static EMMessage | createTxtSendMessage (String content, String username) |
static EMMessage | createTextSendMessage (String content, String username) |
static EMMessage | createVoiceSendMessage (String filePath, int timeLength, String username) |
static EMMessage | createVoiceSendMessage (Uri filePath, int timeLength, String username) |
static EMMessage | createImageSendMessage (String filePath, boolean sendOriginalImage, String username) |
static EMMessage | createImageSendMessage (Uri imgUri, boolean sendOriginalImage, String username) |
static EMMessage | createVideoSendMessage (String videofilePath, String imageThumbPath, int timeLength, String username) |
static EMMessage | createVideoSendMessage (Uri videofilePath, String imageThumbPath, int timeLength, String username) |
static EMMessage | createVideoSendMessage (Uri videofilePath, Uri imageThumbPath, int timeLength, String username) |
static EMMessage | createLocationSendMessage (double latitude, double longitude, String locationAddress, String buildingName, String username) |
static EMMessage | createLocationSendMessage (double latitude, double longitude, String locationAddress, String username) |
static EMMessage | createFileSendMessage (String filePath, String username) |
static EMMessage | createFileSendMessage (Uri filePath, String username) |
static EMMessage | createCombinedSendMessage (String title, String summary, String compatibleText, List< String > messageIdList, String userId) |
消息对象,表示一条发送或接收到的消息。
例如: 构造一条文本发送消息:
构造一条图片消息:
void com.hyphenate.chat.EMMessage.addBody | ( | EMMessageBody | body | ) |
String com.hyphenate.chat.EMMessage.conversationId | ( | ) |
获取会话 ID。
|
static |
创建一个合并转发消息的发送消息。
对于不支持合并转发消息的 SDK 版本,该类消息会被解析为文本 Type#TXT 消息,消息内容为 compatibleText
携带的内容,其他字段会被忽略。
title | 合并消息的标题。该字段可以设置为 null 或者空字符串。 |
summary | 合并消息的概要。该字段可以设置为 null 或者空字符串。 |
compatibleText | 合并消息的兼容信息。该字段可以设置为 null 或者空字符串。该字段用于需要兼容不支持合并转发消息的版本。 |
messageIdList | 合并消息的消息 ID 列表。列表不可为null 或者空,最多可包含 300 个消息 ID。调用 EMChatManager#sendMessage(EMMessage) 方法发送消息会检查该字段的设置。 |
userId | 消息接收方。该字段的设置取决于会话类型:
|
|
static |
创建一个普通文件发送消息。
filePath | 文件路径。 |
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个普通文件发送消息。
filePath | 文件路径。 |
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个图片发送消息。
filePath | 图片路径。 |
sendOriginalImage | 是否发送原图:
|
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个图片发送消息。
imgUri | 图片 URI。 |
sendOriginalImage | 是否发送原图:
|
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个位置发送消息。
latitude | 纬度。 |
longitude | 经度。 |
locationAddress | 位置详情。 |
buildingName | 建筑物名称。 |
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个位置发送消息。
latitude | 纬度。 |
longitude | 经度。 |
locationAddress | 位置详情。 |
username | 消息接收方的设置取决于会话类型:
|
创建一个接收消息。
type | 消息类型。 |
创建一个发送消息。
type | 消息类型。 |
|
static |
创建一个文本发送消息。
content | 文本内容。 |
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个文本发送消息。
content | 文本内容。 |
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个视频发送消息。
videofilePath | 视频文件路径。 |
imageThumbPath | 视频第一帧图缩略图。 |
timeLength | 视频时间长度,单位为秒。 |
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个视频发送消息。
videofilePath | 视频文件路径。 |
imageThumbPath | 视频第一帧图缩略图。 |
timeLength | 视频时间长度,单位为秒。 |
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个视频发送消息。
videofilePath | 视频文件路径。 |
imageThumbPath | 视频第一帧图缩略图。 |
timeLength | 视频时间长度,单位为秒。 |
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个语音发送消息。
filePath | 语音文件路径。 |
timeLength | 语音时间长度,单位为秒。 |
username | 消息接收方的设置取决于会话类型:
|
|
static |
创建一个语音发送消息。
filePath | 语音文件 URI。 |
timeLength | 语音时间长度,单位为秒。 |
username | 消息接收方的设置取决于会话类型:
|
void com.hyphenate.chat.EMMessage.deliverOnlineOnly | ( | boolean | onlineOnly | ) |
设置消息是否只投递给在线用户。
onlineOnly | 消息是否只投递给在线用户:
|
Direct com.hyphenate.chat.EMMessage.direct | ( | ) |
Map< String, Object > com.hyphenate.chat.EMMessage.ext | ( | ) |
获取消息包含的全部扩展字段。
Map< String, Object > com.hyphenate.chat.EMMessage.getAttributes | ( | ) |
获取消息包含的全部扩展字段。
synchronized EMMessageBody com.hyphenate.chat.EMMessage.getBody | ( | ) |
获取消息体。
boolean com.hyphenate.chat.EMMessage.getBooleanAttribute | ( | String | attribute | ) | throws HyphenateException |
获取 Boolean 类型的消息扩展属性。
attribute | 属性名。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和异常原因。详见 EMError。 |
boolean com.hyphenate.chat.EMMessage.getBooleanAttribute | ( | String | attribute, |
boolean | defaultValue | ||
) |
获取 Boolean 类型的消息扩展属性。
attribute | 属性名。 |
defaultValue | 属性的默认值。 |
EMChatThread com.hyphenate.chat.EMMessage.getChatThread | ( | ) |
获取子区概览信息。
子区概览信息仅在创建子区后携带。
ChatType com.hyphenate.chat.EMMessage.getChatType | ( | ) |
获取聊天类型。
double com.hyphenate.chat.EMMessage.getDoubleAttribute | ( | String | attribute | ) | throws HyphenateException |
获取消息的 Double 类型扩展属性。
attribute | 属性名。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和异常原因。详见 EMError。 |
double com.hyphenate.chat.EMMessage.getDoubleAttribute | ( | String | attribute, |
double | defaultValue | ||
) |
获取消息的 Double 类型扩展属性。
attribute | 属性名。 |
defaultValue | 属性的默认值。 |
float com.hyphenate.chat.EMMessage.getFloatAttribute | ( | String | attribute | ) | throws HyphenateException |
float com.hyphenate.chat.EMMessage.getFloatAttribute | ( | String | attribute, |
float | defaultValue | ||
) |
获取消息的 Float 类型扩展属性。
attribute | 属性名。 |
defaultValue | 属性的默认值。 |
String com.hyphenate.chat.EMMessage.getFrom | ( | ) |
获取消息发送方的用户 ID。
int com.hyphenate.chat.EMMessage.getIntAttribute | ( | String | attribute | ) | throws HyphenateException |
int com.hyphenate.chat.EMMessage.getIntAttribute | ( | String | attribute, |
int | defaultValue | ||
) |
获取消息的 Int 类型扩展属性。
attribute | 属性名。 |
defaultValue | 默认值。 |
JSONArray com.hyphenate.chat.EMMessage.getJSONArrayAttribute | ( | String | attribute | ) | throws HyphenateException |
获取消息的 JSONArray 类型扩展属性。
attribute | 属性名。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和异常原因。详见 EMError。 |
JSONObject com.hyphenate.chat.EMMessage.getJSONObjectAttribute | ( | String | attribute | ) | throws HyphenateException |
获取消息的 JSONObject 类型扩展属性。
attribute | 属性名。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和异常原因。详见 EMError。 |
long com.hyphenate.chat.EMMessage.getLongAttribute | ( | String | attribute | ) | throws HyphenateException |
long com.hyphenate.chat.EMMessage.getLongAttribute | ( | String | attribute, |
long | defaultValue | ||
) |
获取消息的 Long 类型扩展属性。
attribute | 属性名。 |
defaultValue | 属性的默认值。 |
List< EMMessageReaction > com.hyphenate.chat.EMMessage.getMessageReaction | ( | ) |
获取 Reaction 列表。
String com.hyphenate.chat.EMMessage.getMsgId | ( | ) |
获取消息的 ID。
long com.hyphenate.chat.EMMessage.getMsgTime | ( | ) |
获取消息的服务器时间戳。
该时间戳为服务器接收消息的时间。
String com.hyphenate.chat.EMMessage.getRecaller | ( | ) |
获取消息撤回者的用户 ID。
String com.hyphenate.chat.EMMessage.getStringAttribute | ( | String | attribute | ) | throws HyphenateException |
获取消息的 String 类型扩展属性。
attribute | 属性名。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和异常原因。详见 EMError。 |
String com.hyphenate.chat.EMMessage.getStringAttribute | ( | String | attribute, |
String | defaultValue | ||
) |
获取消息的 String 类型扩展属性。
attribute | 属性名。 |
defaultValue | 默认值。 |
String com.hyphenate.chat.EMMessage.getTo | ( | ) |
获取消息接收方。
Type com.hyphenate.chat.EMMessage.getType | ( | ) |
获取消息类型。
String com.hyphenate.chat.EMMessage.getUserName | ( | ) |
获取消息的对端用户:
int com.hyphenate.chat.EMMessage.groupAckCount | ( | ) |
群消息已读人数。
boolean com.hyphenate.chat.EMMessage.isAcked | ( | ) |
获取对方是否已读。
true
:已读。 -false
:未读。 boolean com.hyphenate.chat.EMMessage.isBroadcast | ( | ) |
是否是聊天室全局广播消息。
true
:是;false
:否。boolean com.hyphenate.chat.EMMessage.isChatThreadMessage | ( | ) |
获取消息是否是子区消息。
true
表示是子区消息;false
表示不是子区消息。 boolean com.hyphenate.chat.EMMessage.isContentReplaced | ( | ) |
消息内容是否被替换过。
true
:是;false
:否。boolean com.hyphenate.chat.EMMessage.isDelivered | ( | ) |
获取消息是否成功送达。
true
:已送达。false
:未送达。 boolean com.hyphenate.chat.EMMessage.isDeliverOnlineOnly | ( | ) |
判断消息是否只投递在线用户。
true
:只投递在线用户。false
:投递所有用户。 boolean com.hyphenate.chat.EMMessage.isListened | ( | ) |
获取语音消息是否已听。
true
:已听;false
:未听。 boolean com.hyphenate.chat.EMMessage.isNeedGroupAck | ( | ) |
消息是否需要群组已读回执。
true
:需要已读回执;false
:不需要已读回执。 boolean com.hyphenate.chat.EMMessage.isOnlineState | ( | ) |
是否为在线消息。
该字段为服务器下发字段,不在本地数据库中存储。对于从数据库读取的消息或拉取的漫游消息,该字段的值默认为 true
。
true
:是。false
:否。 boolean com.hyphenate.chat.EMMessage.isUnread | ( | ) |
检查消息是否未读。
true
: 未读;false
: 已读。 long com.hyphenate.chat.EMMessage.localTime | ( | ) |
获取消息的本地时间戳。
该时间戳为消息的本地创建时间戳。
EMMessagePinInfo com.hyphenate.chat.EMMessage.pinnedInfo | ( | ) |
获取消息的置顶详情。
int com.hyphenate.chat.EMMessage.progress | ( | ) |
消息中的附件的上传或者下载进度。
消息附件的缩略图不涉及进度信息。
List< String > com.hyphenate.chat.EMMessage.receiverList | ( | ) |
定向消息的接收方。
void com.hyphenate.chat.EMMessage.setAcked | ( | boolean | isAcked | ) |
设置对方是否已读。
该方法由 SDK 调用,而非开发者。
isAcked | 消息是否已读: -true :已读。 -false :未读。 |
void com.hyphenate.chat.EMMessage.setAttribute | ( | String | attribute, |
boolean | value | ||
) |
设置消息的 Boolean 类型的扩展属性。
attribute | 属性名。 |
value | 属性值。 |
void com.hyphenate.chat.EMMessage.setAttribute | ( | String | attribute, |
double | value | ||
) |
设置消息的 Double 类型扩展属性。
attribute | 属性名。 |
value | 属性值。 |
void com.hyphenate.chat.EMMessage.setAttribute | ( | String | attribute, |
float | value | ||
) |
设置消息的 Float 类型扩展属性。
attribute | 属性名。 |
value | 属性值。 |
void com.hyphenate.chat.EMMessage.setAttribute | ( | String | attribute, |
int | value | ||
) |
设置消息的 Int 类型扩展属性。
attribute | 属性名。 |
value | 属性值。 |
void com.hyphenate.chat.EMMessage.setAttribute | ( | String | attribute, |
JSONArray | value | ||
) |
设置消息的 JSONArray 类型扩展属性。
attribute | 属性名。 |
value | 属性值。 |
void com.hyphenate.chat.EMMessage.setAttribute | ( | String | attribute, |
JSONObject | value | ||
) |
设置消息的 JSONObject 类型扩展属性。
attribute | 属性名。 |
value | 属性值。 |
void com.hyphenate.chat.EMMessage.setAttribute | ( | String | attribute, |
long | value | ||
) |
设置消息的 Long 类型扩展属性。
attribute | 属性名。 |
value | 属性值。 |
void com.hyphenate.chat.EMMessage.setAttribute | ( | String | attribute, |
String | value | ||
) |
设置消息的 String 类型扩展属性。
attribute | 属性名。 |
value | 属性值。 |
void com.hyphenate.chat.EMMessage.setBody | ( | EMMessageBody | body | ) |
(建议方法)设置消息体。
body | 消息体。 |
void com.hyphenate.chat.EMMessage.setChatType | ( | ChatType | chatType | ) |
设置聊天类型。
chatType | 聊天类型,默认为单聊。详见 ChatType。 |
void com.hyphenate.chat.EMMessage.setDeliverAcked | ( | boolean | isDeliverAcked | ) |
设置消息已送达标记。
开发者不要调用,由 SDK 内部调用。
isDeliverAcked | 消息是否已送达对端用户:
|
void com.hyphenate.chat.EMMessage.setDelivered | ( | boolean | isDelivered | ) |
设置消息是否成功送达。
该方法由 SDK 调用,而非开发者。
isDelivered | 消息是否成功送达。
|
void com.hyphenate.chat.EMMessage.setFrom | ( | String | from | ) |
设置消息发送方的用户 ID。
from | 发送方的用户 ID。 |
void com.hyphenate.chat.EMMessage.setGroupAckCount | ( | int | count | ) |
设置群消息已读人数。
count | 群消息已读人数。 |
void com.hyphenate.chat.EMMessage.setIsChatThreadMessage | ( | boolean | isChatThreadMessage | ) |
设置消息是否是子区消息。
isChatThreadMessage | 消息是否是子区消息:
|
void com.hyphenate.chat.EMMessage.setIsNeedGroupAck | ( | boolean | need | ) |
设置群组消息是否需要已读回执。
need | 群组消息是否需要已读回执:
|
void com.hyphenate.chat.EMMessage.setListened | ( | boolean | isListened | ) |
设置语音消息是否已听。
该方法由 SDK 调用,而非开发者。
isListened | 语音消息是否已听:
|
void com.hyphenate.chat.EMMessage.setLocalTime | ( | long | serverTime | ) |
设置消息的本地时间戳。
该时间戳为消息的本地创建时间戳。
serverTime | 消息的本地时间戳。 |
synchronized void com.hyphenate.chat.EMMessage.setMessageStatusCallback | ( | EMCallBack | callback | ) |
设置消息状态变化的回调。
设置消息状态回调,以便刷新界面。
callback | 消息状态改变的回调。 |
void com.hyphenate.chat.EMMessage.setMsgId | ( | String | msgId | ) |
设置本地消息 ID。
msgId | 消息 ID。 |
void com.hyphenate.chat.EMMessage.setMsgTime | ( | long | msgTime | ) |
设置消息的服务器时间戳。
该时间戳为服务器接收消息的时间。
msgTime | 服务器接收消息的时间戳。 |
void com.hyphenate.chat.EMMessage.setPriority | ( | EMChatRoomMessagePriority | priority | ) |
设置聊天室消息优先级。
priority | 聊天室消息优先级。 |
void com.hyphenate.chat.EMMessage.setProgress | ( | int | progress | ) |
设置消息中的附件的上传或者下载进度。
对于 app 开发者来说,通常不需要主动设置进度。详见 EMMessage#progress()。
progress | 消息中的附件的上传或者下载进度,取值范围为 [0,100]。 |
void com.hyphenate.chat.EMMessage.setReceiverList | ( | List< String > | receiverList | ) |
设置定向消息接收方。
该方法适用于群组和聊天室。若创建消息后不调用该方法,则消息发送给群组或聊天室的所有成员。
receiverList | 定向消息接收方。若传入 null ,则消息发送给群组或聊天室的所有成员。 |
void com.hyphenate.chat.EMMessage.setStatus | ( | Status | status | ) |
设置消息发送或接收的状态。
status | 消息的状态。 |
void com.hyphenate.chat.EMMessage.setTo | ( | String | to | ) |
设置消息的接收方的用户 ID。
to | 消息接收方的用户 ID。 |
void com.hyphenate.chat.EMMessage.setUnread | ( | boolean | unread | ) |
设置消息是否未读。
建议在会话中,使用 EMConversation#markAllMessagesAsRead()。
unread | 消息是否未读:
|
Status com.hyphenate.chat.EMMessage.status | ( | ) |
获取消息的发送/接收状态。