public class TIMMessage
extends java.lang.Object
构造器和说明 |
---|
TIMMessage() |
限定符和类型 | 方法和说明 |
---|---|
int |
addElement(TIMElem elem)
增加消息元素
|
boolean |
checkEquals(TIMMessageLocator locator)
是否为 locator 对应的消息
|
boolean |
convertToImportedMsg()
将消息导入到本地
只有调用这个接口,才能去修改消息的时间戳和发送方
|
boolean |
copyFrom(TIMMessage srcMsg)
复制消息内容到当前消息(Elem, priority, online, offlinePushInfo等)
|
TIMConversation |
getConversation()
获取会话
|
int |
getCustomInt()
获取自定义整数
|
java.lang.String |
getCustomStr()
获取自定义数据内容的值
|
TIMElem |
getElement(int i)
获取对应索引的 Elem
|
int |
getElementCount()
获取 Elem 数量
|
java.util.List<java.lang.String> |
getGroupAtUserList() |
TIMMessageLocator |
getMessageLocator()
消息定位符
如果是自己创建的 TIMMessage,需要等到消息发送成功后才能获取到 TIMMessageLocator 里面的具体信息
|
java.lang.String |
getMsgId()
消息 ID
当消息生成时就已经固定,全局唯一,会贯穿整个发送以及接收过程。
|
long |
getMsgUniqueId()
消息 uniqueId
对于发送成功的消息或者从服务器接收到的消息,uniqueId 能保证全局唯一,需要在同一个会话内判断。
|
TIMMessageOfflinePushSettings |
getOfflinePushSettings()
获取消息离线推送配置
|
TIMMessagePriority |
getPriority()
获取消息的优先级(仅对群组消息有效)
|
long |
getRand()
获取当前消息的随机码
|
TIMGroupReceiveMessageOpt |
getRecvFlag()
已过时。
|
java.lang.String |
getSender()
获取消息的发送方
|
java.lang.String |
getSenderFaceUrl()
获取消息的发送方头像 url
注意: 在 C2C 场景下,陌生人的头像不会更新,
建议在 UI 上点击陌生人信息的时候主动调用 TIMFriendshipManager -> getUsersProfile(forceUpdate 设置为 YES) 去拉取资料,
拉取成功后,SDK 会更新本地头像,下次 getSenderFaceURL 会拿到更新后的头像,注意请不要在收到每条消息都去 getUsersProfile,会严重影响程序性能。
|
TIMGroupMemberInfo |
getSenderGroupMemberProfile()
获取发送者群内资料
目前仅能获取字段:member,nameCard,其他的字段获取建议通过 其他的字段获取建议通过
TIMGroupManager.getGroupMembers(String, TIMValueCallBack) 获取 |
java.lang.String |
getSenderNickname()
获取消息的发送方昵称
|
void |
getSenderProfile(TIMValueCallBack<TIMUserProfile> callBack)
获取发送者资料
如果本地有发送者资料,会在 callBack 回调里面立即同步返回发送者资料,如果本地没有发送者资料,SDK 内部会向服务器拉取发送者资料,并在 callBack 回调里面返回发送者资料。
|
long |
getSeq()
获取当前消息的序列号
|
boolean |
isPeerReaded()
对方是否已读(仅 C2C 消息有效)
|
boolean |
isRead()
自己是否已读
|
boolean |
isSelf()
是否为发送方
|
boolean |
remove()
已过时。
|
void |
setCustomInt(int value)
设置自定义整数, 默认为0(此属性仅本地使用)
1.此自定义字段仅存储于本地,不会同步到 Server,用户卸载应用或则更换终端后无法获取。
|
void |
setCustomStr(java.lang.String str)
设置自定义数据内容,默认为""(此属性仅本地使用)
此自定义字段仅存储于本地,不会同步到 Server,用户卸载应用或则更换终端后无法获取。
|
boolean |
setGroupAtUserList(java.util.List<java.lang.String> userList)
设置消息 @ 用户列表
|
void |
setOfflinePushSettings(TIMMessageOfflinePushSettings settings)
设置消息离线推送配置
|
void |
setPriority(TIMMessagePriority priority)
设置消息的优先级(仅对群组消息有效)
对于直播场景,会有点赞和发红包功能,点赞相对优先级较低,红包消息优先级较高,具体消息内容可以使用 TIMCustomElem 进行定义,发送消息时,可设置消息优先级。
|
boolean |
setSender(java.lang.String sender)
设置消息发送方 ID
需要先将消息到导入到本地,调用 convertToImportedMsg 方法
|
boolean |
setTimestamp(long timestamp)
设置消息时间
需要先将消息到导入到本地,调用 convertToImportedMsg 方法
|
TIMMessageStatus |
status()
查询消息状态
|
long |
timestamp()
获取当前消息的时间戳
当消息还没发送成功,此时间为根据 Server 时间校准过的本地时间,发送成功后会改为准确的 Server 时间
|
java.lang.String |
toString()
消息打印
|
public int addElement(TIMElem elem)
elem
- 消息元素public TIMElem getElement(int i)
i
- 元素索引public int getElementCount()
public TIMMessageStatus status()
TIMMessageStatus
public boolean isSelf()
public java.lang.String getSender()
public java.lang.String getSenderNickname()
public java.lang.String getSenderFaceUrl()
注意: 在 C2C 场景下,陌生人的头像不会更新, 建议在 UI 上点击陌生人信息的时候主动调用 TIMFriendshipManager -> getUsersProfile(forceUpdate 设置为 YES) 去拉取资料, 拉取成功后,SDK 会更新本地头像,下次 getSenderFaceURL 会拿到更新后的头像,注意请不要在收到每条消息都去 getUsersProfile,会严重影响程序性能。
public java.lang.String getMsgId()
当消息生成时就已经固定,全局唯一,会贯穿整个发送以及接收过程。
public long getMsgUniqueId()
对于发送成功的消息或者从服务器接收到的消息,uniqueId 能保证全局唯一,需要在同一个会话内判断。
public long timestamp()
当消息还没发送成功,此时间为根据 Server 时间校准过的本地时间,发送成功后会改为准确的 Server 时间
public boolean isRead()
public boolean isPeerReaded()
public TIMMessageLocator getMessageLocator()
如果是自己创建的 TIMMessage,需要等到消息发送成功后才能获取到 TIMMessageLocator 里面的具体信息
public boolean checkEquals(@NonNull TIMMessageLocator locator)
locator
- 消息定位符@Deprecated public boolean remove()
目前暂不支持 Server 消息删除,只能在本地删除。删除后使用 getMessage 拉取本地消息,不会返回被删除的消息。
该接口待废弃,删除消息请调用 TIMConversation -> deleteMessages 接口,此接口支持服务器删除消息。
public TIMConversation getConversation()
public void getSenderProfile(@NonNull TIMValueCallBack<TIMUserProfile> callBack)
如果本地有发送者资料,会在 callBack 回调里面立即同步返回发送者资料,如果本地没有发送者资料,SDK 内部会向服务器拉取发送者资料,并在 callBack 回调里面返回发送者资料。
callBack
- 回调public TIMGroupMemberInfo getSenderGroupMemberProfile()
目前仅能获取字段:member,nameCard,其他的字段获取建议通过 其他的字段获取建议通过TIMGroupManager.getGroupMembers(String, TIMValueCallBack)
获取
public TIMMessagePriority getPriority()
public void setPriority(TIMMessagePriority priority)
对于直播场景,会有点赞和发红包功能,点赞相对优先级较低,红包消息优先级较高,具体消息内容可以使用 TIMCustomElem 进行定义,发送消息时,可设置消息优先级。
priority
- 消息优先级public TIMMessageOfflinePushSettings getOfflinePushSettings()
public void setOfflinePushSettings(TIMMessageOfflinePushSettings settings)
settings
- 离线推送配置public int getCustomInt()
public void setCustomInt(int value)
1.此自定义字段仅存储于本地,不会同步到 Server,用户卸载应用或则更换终端后无法获取。
2.可以根据这个字段设置语音消息是否已经播放,如 customInt 的值 0 表示未播放,1 表示播放,当用户单击播放后可设置 customInt 的值为 1。
value
- 自定义整数值public java.lang.String getCustomStr()
public void setCustomStr(java.lang.String str)
此自定义字段仅存储于本地,不会同步到 Server,用户卸载应用或则更换终端后无法获取。
str
- 自定义数据内容的值public boolean copyFrom(@NonNull TIMMessage srcMsg)
srcMsg
- 源消息public boolean convertToImportedMsg()
只有调用这个接口,才能去修改消息的时间戳和发送方
public boolean setTimestamp(long timestamp)
需要先将消息到导入到本地,调用 convertToImportedMsg 方法
timestamp
- 消息时间public boolean setSender(java.lang.String sender)
需要先将消息到导入到本地,调用 convertToImportedMsg 方法
sender
- 发送方ID@Deprecated public TIMGroupReceiveMessageOpt getRecvFlag()
public long getRand()
public long getSeq()
public boolean setGroupAtUserList(java.util.List<java.lang.String> userList)
public java.util.List<java.lang.String> getGroupAtUserList()
public java.lang.String toString()
toString
在类中 java.lang.Object