public abstract class Message
extends java.lang.Object
implements java.io.Serializable
限定符和类型 | 方法和说明 |
---|---|
abstract void |
cancelSend()
取消消息的发送,如果消息需要上传附件(图片、语音、文件等),上传会中断,消息状态变为
MessageStatus.send_cancelled 。 |
static java.lang.String |
collectionToJson(java.util.Collection<Message> messages)
将Message对象的集合类转换为Json字符串,使用
fromJsonToCollection(String) 转换回来 |
static Message |
fromJson(java.lang.String jsonString)
从Json字符串转换成Message对象, 转换失败返回null
|
static java.util.Collection<Message> |
fromJsonToCollection(java.lang.String jsonString)
从Json字符串转换成Collection
|
abstract void |
getAtUserList(GetUserInfoListCallback callback)
获取@的群成员userInfo列表
|
MessageContent |
getContent()
获取消息的内容对象
|
ContentType |
getContentType()
获取消息的内容类型
|
long |
getCreateTime()
获取消息被创建的时间
|
MessageDirect |
getDirect()
获取消息的方向。
|
abstract java.lang.String |
getFromAppKey()
获取消息发送者的appkey
|
java.lang.String |
getFromID()
已过时。
deprecated in sdk version 1.1.4. Use
getFromUser() instead. |
java.lang.String |
getFromName()
已过时。
deprecated in sdk version 1.1.4. Use
getFromUser() instead. |
java.lang.String |
getFromType()
获取消息发送者的类型,(sdk用户发送的消息都默认为“user”)
|
abstract UserInfo |
getFromUser()
获取消息发送者的UserInfo。
|
int |
getId() |
abstract void |
getReceiptDetails(GetReceiptDetailsCallback callback)
获取这条消息的已读回执详情.
|
int |
getSenderUserInfoMTime()
获取消息发送者userinfo最后的更新时间。
|
java.lang.Long |
getServerMessageId()
获取消息对应服务器端的messageId
|
MessageStatus |
getStatus()
获取消息的状态
|
abstract java.lang.String |
getTargetAppKey()
获取消息发送对象的appkey
|
abstract java.lang.String |
getTargetID()
已过时。
deprecated in sdk version 1.1.4. Use
getTargetInfo() instead. |
java.lang.Object |
getTargetInfo()
获取消息对象的targetInfo。
|
abstract java.lang.String |
getTargetName()
已过时。
deprecated in sdk version 1.1.4. Use
getTargetInfo() instead. |
ConversationType |
getTargetType()
获取消息发送对象的类型。
|
abstract int |
getUnreceiptCnt()
获取针对这条消息还没有发送已读回执的人数.
|
abstract long |
getUnreceiptMtime()
获取这条消息的未回执人数最后一次更新的时间
|
abstract boolean |
haveRead()
这条消息的已读状态.
|
abstract boolean |
isAtAll()
判断消息是否是@所有人消息
|
abstract boolean |
isAtMe()
判断自己是否在被@的列表中
|
abstract boolean |
isContentDownloadProgressCallbackExists()
判断这条消息是否已设置了监听下载进度的回调接口
|
abstract boolean |
isContentUploadProgressCallbackExists()
判断这条消息是否已设置了监听上传进度的回调接口
|
abstract boolean |
isSendCompleteCallbackExists()
判断这条消息是否已设置了监听发送完成的回调接口
|
boolean |
isSupportForward()
消息是否支持转发,只有发送成功或收到的消息才可转发
MessageStatus , 消息类型未知时也不支持转发ContentType.unknown |
abstract void |
setHaveRead(BasicCallback callback)
将这条消息标记为已读。
|
abstract void |
setOnContentDownloadProgressCallback(ProgressUpdateCallback callback)
设置监听消息所带附件(图片、语音等)下载进度的回调接口
|
abstract void |
setOnContentUploadProgressCallback(ProgressUpdateCallback callback)
设置监听消息所带附件(图片、语音等)上传进度的回调接口
|
abstract void |
setOnSendCompleteCallback(BasicCallback sendCompleteCallback)
设置监听消息发送完成的回调接口
|
abstract void |
setUnreceiptCnt(int unreceipteCnt)
设置这条消息的未回执人数。
|
abstract void |
setUnreceiptMtime(long unreceipteMtime)
设置这条消息的未回执人数更新时间。
|
java.lang.String |
toJson()
将对象转换为Json字符串,使用
fromJson(String) 转换回来 |
public int getId()
public abstract void getAtUserList(GetUserInfoListCallback callback)
callback
- 接口回调public abstract boolean isAtMe()
public abstract boolean isAtAll()
public MessageContent getContent()
public ContentType getContentType()
public MessageStatus getStatus()
public MessageDirect getDirect()
public ConversationType getTargetType()
public long getCreateTime()
public java.lang.String getFromType()
@Deprecated public java.lang.String getFromName()
getFromUser()
instead.@Deprecated public java.lang.String getFromID()
getFromUser()
instead.public abstract java.lang.String getFromAppKey()
public abstract UserInfo getFromUser()
@Deprecated public abstract java.lang.String getTargetName()
getTargetInfo()
instead.@Deprecated public abstract java.lang.String getTargetID()
getTargetInfo()
instead.public abstract java.lang.String getTargetAppKey()
public java.lang.Object getTargetInfo()
UserInfo
。
如果是群聊消息,则targetInfo就是对象群的GroupInfo
。public abstract void setOnContentUploadProgressCallback(ProgressUpdateCallback callback)
callback
- public abstract boolean isContentUploadProgressCallbackExists()
true
表示已存在,其他情况为false
public abstract void setOnContentDownloadProgressCallback(ProgressUpdateCallback callback)
callback
- public abstract boolean isContentDownloadProgressCallbackExists()
true
表示已存在,其他情况为false
public abstract void setOnSendCompleteCallback(BasicCallback sendCompleteCallback)
sendCompleteCallback
- public abstract boolean isSendCompleteCallbackExists()
true
表示已存在,其他情况为false
public java.lang.Long getServerMessageId()
public int getSenderUserInfoMTime()
public abstract boolean haveRead()
setHaveRead(BasicCallback)
接口成功后,这条消息的已读状态被更新为true.
注意这个已读状态只会保存在本地,当本地数据被清除,或者用户更换设备登陆之后,已读状态会被重置为false.
public abstract void setHaveRead(BasicCallback callback)
MessageReceiptStatusChangeEvent
事件通知
对于已发送过已读回执的消息,重复调用此接口也不会重复给对方发送回执。
注意设置成功之后,这个已读状态只会保存在本地,当本地数据被清除,或者用户更换设备登陆之后,已读状态会被重置为false.
callback
- 回调接口public abstract int getUnreceiptCnt()
MessageDirect.send
,而且发送方在发送消息的时候通过
MessageSendingOptions.setNeedReadReceipt(boolean)
接口设置了需要已读回执之后
这个接口才会正常返回人数,否则将返回0。public abstract long getUnreceiptMtime()
public abstract void setUnreceiptCnt(int unreceipteCnt)
注意这个接口设置的值仅仅是保存在内存中,不会写入到数据库或者更新到后台
unreceipteCnt
- 未回执人数public abstract void setUnreceiptMtime(long unreceipteMtime)
注意这个接口设置的值仅仅是保存在内存中,不会写入到数据库或者更新到后台
unreceipteMtime
- 未回执人数更新时间public abstract void getReceiptDetails(GetReceiptDetailsCallback callback)
只有当消息的MessageDirect为MessageDirect.send
、而且这条消息的MessageStatus
是
MessageStatus.send_success
时,可以查看这条消息的已读回执详情
callback
- 回调接口public abstract void cancelSend()
MessageStatus.send_cancelled
。
注意取消操作不一定会成功,通过设置的消息发送回调setOnSendCompleteCallback(BasicCallback)
来获取消息发送最终结果,
如果消息发送被取消的话回调中错误码为cn.jpush.im.android.ErrorCode.LOCAL_ERROR#LOCAL_OPERATION_CANCELLED
代表消息发送取消。
public java.lang.String toJson()
fromJson(String)
转换回来public static java.lang.String collectionToJson(java.util.Collection<Message> messages)
fromJsonToCollection(String)
转换回来messages
- public static Message fromJson(java.lang.String jsonString)
jsonString
- public static java.util.Collection<Message> fromJsonToCollection(java.lang.String jsonString)
jsonString
- public boolean isSupportForward()
MessageStatus
, 消息类型未知时也不支持转发ContentType.unknown