public abstract class Conversation
extends java.lang.Object
implements java.io.Serializable
构造器和说明 |
---|
Conversation() |
限定符和类型 | 方法和说明 |
---|---|
static java.lang.String |
collectionToJson(java.util.Collection<Conversation> conversations)
将Conversation对象的集合类转换为Json字符串,使用
fromJsonToCollection(String) 转换回来 |
static Conversation |
createChatRoomConversation(long roomID)
创建聊天室会话,如果本地已存在对应会话,则不会重新创建,直接返回本地会话对象。
|
static Conversation |
createConversation(ConversationType type,
long groupID)
已过时。
deprecated in sdk version 1.1.4.
Use
createGroupConversation(long) 、createSingleConversation(String) instead. |
static Conversation |
createConversation(ConversationType type,
java.lang.String username)
已过时。
deprecated in sdk version 1.1.4.
Use
createGroupConversation(long) 、createSingleConversation(String) instead. |
static Conversation |
createGroupConversation(long groupID)
创建群聊会话,如果本地已存在对应会话,则不会重新创建,直接返回本地会话对象。
|
abstract Message |
createLocationMessage(double latitude,
double longitude,
int scale,
java.lang.String address)
创建一条地理位置,对于非聊天室类型的会话,将同时将消息保存至本地数据库
|
abstract Message |
createSendCustomMessage(java.util.Map<? extends java.lang.String,? extends java.lang.String> valuesMap)
创建一条发送的自定义消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库
|
abstract Message |
createSendCustomMessage(java.util.Map<? extends java.lang.String,? extends java.lang.String> valuesMap,
java.lang.String customFromName)
创建一条发送的自定义消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库,并且可以自定义fromName,自定义的fromName
将在消息接收方的通知栏作为展示名展示出来。
|
abstract Message |
createSendFileMessage(java.io.File file,
java.lang.String fileName)
创建一条发送文件的消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库
|
abstract Message |
createSendFileMessage(java.io.File file,
java.lang.String fileName,
java.lang.String customFromName)
创建一条发送文件的消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库,并且可以自定义fromName;自定义的fromName
将会在消息接收方的通知栏作为展示名展示出来,如果传值为null那么会依照用户的昵称>用户名的优先级来展示
|
abstract Message |
createSendImageMessage(java.io.File imageFile)
创建一条发送的图片消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库
|
abstract Message |
createSendImageMessage(java.io.File imageFile,
java.lang.String customFromName)
创建一条发送的图片消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库,并且可以自定义fromName,自定义的fromName
将在消息接收方的通知栏作为展示名展示出来。
|
abstract Message |
createSendMessage(MessageContent content)
创建一条发送的消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库
|
abstract Message |
createSendMessage(MessageContent content,
java.util.List<UserInfo> atList,
java.lang.String customFromName)
创建一条@群成员的消息。
|
abstract Message |
createSendMessage(MessageContent content,
java.lang.String customFromName)
创建一条发送的消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库,并且可以自定义fromName,自定义的fromName
将在消息接收方的通知栏作为展示名展示出来。
|
abstract Message |
createSendMessageAtAllMember(MessageContent content,
java.lang.String customFromName)
创建一条@群组中所有人的消息
可以自定义customFromName,自定义的customFromName将在对方的通知栏作为
展示名展示出来,如果未设置则会依照用户的备注 > 昵称 > 用户名的优先级来展示
|
abstract Message |
createSendTextMessage(java.lang.String text)
创建一条发送的文本消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库
|
abstract Message |
createSendTextMessage(java.lang.String text,
java.lang.String customFromName)
创建一条发送的文本消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库,并且可以自定义fromName,自定义的fromName
将在消息接收方的通知栏作为展示名展示出来。
|
abstract Message |
createSendVoiceMessage(java.io.File voiceFile,
int duration)
创建一条发送的语音消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库
|
abstract Message |
createSendVoiceMessage(java.io.File voiceFile,
int duration,
java.lang.String customFromName)
创建一条发送的语音消息,对于非聊天室类型的会话,将同时将消息保存至本地数据库,并且可以自定义fromName,自定义的fromName
将在消息接收方的通知栏作为展示名展示出来。
|
static Conversation |
createSingleConversation(java.lang.String username)
创建单聊会话,如果本地已存在对应会话,则不会重新创建,直接返回本地会话对象。
|
static Conversation |
createSingleConversation(java.lang.String username,
java.lang.String appkey)
创建单聊会话,如果本地已存在对应会话,则不会重新创建,直接返回本地会话对象。
|
abstract boolean |
deleteAllMessage()
删除会话中的所有消息,但不会删除会话本身。
|
abstract boolean |
deleteMessage(int messageId)
删除会话中指定messageId的消息
由于聊天室类型会话中所有消息都不会保存到本地,调用此接口将固定返回false
|
static Conversation |
fromJson(java.lang.String jsonString)
从Json字符串转换成Conversation对象,转换失败返回null
|
static java.util.Collection<Conversation> |
fromJsonToCollection(java.lang.String jsonString)
从Json字符串转换成Collection
|
abstract java.util.List<Message> |
getAllMessage()
获取会话中所有消息,消息按照时间升序排列.
|
java.io.File |
getAvatarFile()
获取会话对象的头像
|
java.lang.String |
getExtra()
获取会话的extra
|
java.lang.String |
getId()
获取Conversation的ID
|
long |
getLastMsgDate()
已过时。
deprecated in sdk version 1.1.4. Use
getLatestMessage() instead. |
abstract Message |
getLatestMessage()
获取会话中最近一条消息。
|
java.lang.String |
getLatestText()
已过时。
deprecated in sdk version 1.1.4. Use
getLatestMessage() instead. |
ContentType |
getLatestType()
已过时。
deprecated in sdk version 1.1.4. Use
getLatestMessage() instead. |
abstract Message |
getMessage(int localMsgId)
获取本会话中指定local message id的一条消息.
|
abstract Message |
getMessage(long serverMsgId)
获取本会话中指定server message id的一条消息.
|
abstract java.util.List<Message> |
getMessagesFromNewest(int offset,
int limit)
会话中消息按时间降序排列,从其中的offset位置,获取limit条数的消息.
|
abstract java.util.List<Message> |
getMessagesFromOldest(int offset,
int limit)
会话中消息按时间升序排列,从其中的offset位置,获取limit条数的消息.
|
abstract java.lang.String |
getTargetAppKey()
获取会话target appkey,只有单聊会话中会有target appkey这个概念,群聊和聊天室类型会话直接返回空字符串
|
java.lang.String |
getTargetId()
已过时。
deprecated in sdk version 1.1.4. Use
getTargetInfo() instead. |
abstract java.lang.Object |
getTargetInfo()
获取会话对象的Info。
|
abstract java.lang.String |
getTitle()
获取会话对象的标题。
|
ConversationType |
getType()
获取会话类型
|
int |
getUnReadMsgCnt()
获取会话包含的未读消息数.
|
abstract boolean |
resetUnreadCount()
重置会话的未读数。
|
abstract void |
retractMessage(Message message,
BasicCallback callback)
撤回一条发送的消息。
|
abstract boolean |
setUnReadMessageCnt(int count)
设置会话中的未读消息数
被设置的未读数仅在本地生效,不会被同步至多端在线的另一端。
|
java.lang.String |
toJson()
将对象转换为Json字符串,使用
fromJson(String) 转换回来 |
java.lang.String |
toJsonString()
将Conversation对象转换成Json字符串格式
|
abstract boolean |
updateConversationExtra(java.lang.String extra)
更新会话的extra
此接口会将相应的数据更新到缓存和数据库。
|
abstract boolean |
updateMessageExtra(Message msg,
java.lang.String key,
java.lang.Boolean value)
更新message中的extra
此接口会将相应的数据更新到数据库。
|
abstract boolean |
updateMessageExtra(Message msg,
java.lang.String key,
java.lang.Number value)
更新message中的extra
此接口会将相应的数据更新到数据库。
|
abstract boolean |
updateMessageExtra(Message msg,
java.lang.String key,
java.lang.String value)
更新message中的extra.
|
abstract boolean |
updateMessageExtras(Message msg,
java.util.Map<java.lang.String,java.lang.String> extras)
更新message中的extras
此接口会将相应的数据更新到数据库。
|
public java.lang.String getId()
public ConversationType getType()
public java.lang.String getExtra()
@Deprecated public java.lang.String getTargetId()
getTargetInfo()
instead.public abstract java.lang.String getTargetAppKey()
@Deprecated public java.lang.String getLatestText()
getLatestMessage()
instead.@Deprecated public long getLastMsgDate()
getLatestMessage()
instead.@Deprecated public ContentType getLatestType()
getLatestMessage()
instead.ContentType.text
.public int getUnReadMsgCnt()
注意聊天室类型会话不支持会话未读数的功能,此接口默认返回0
public abstract boolean setUnReadMessageCnt(int count)
聊天室类型会话对象不支持此操作。
count
- 指定的未读消息数public abstract java.lang.String getTitle()
public java.io.File getAvatarFile()
public abstract Message getLatestMessage()
public abstract java.lang.Object getTargetInfo()
public static Conversation createGroupConversation(long groupID)
groupID
- 群组的groupIDpublic static Conversation createSingleConversation(java.lang.String username)
createSingleConversation(String, String)
接口指定appkey。username
- 用户的usernamepublic static Conversation createSingleConversation(java.lang.String username, java.lang.String appkey)
username
- 用户的usernameappkey
- 用户所属应用的appkeypublic static Conversation createChatRoomConversation(long roomID)
roomID
- 聊天室的roomID@Deprecated public static Conversation createConversation(ConversationType type, long groupID)
createGroupConversation(long)
、createSingleConversation(String)
instead.type
- 会话类型groupID
- 群组的groupID@Deprecated public static Conversation createConversation(ConversationType type, java.lang.String username)
createGroupConversation(long)
、createSingleConversation(String)
instead.createSingleConversation(String, String)
接口指定appkey。type
- 会话类型username
- 用户的usernamepublic abstract boolean resetUnreadCount()
注意聊天室类型会话不支持此操作。
true
表示成功重置,其他则为false
public abstract Message getMessage(int localMsgId)
由于聊天室类型会话中所有消息都不会保存到本地,调用此接口将固定返回null
localMsgId
- 指定消息的local message id.public abstract Message getMessage(long serverMsgId)
由于聊天室类型会话中所有消息都不会保存到本地,调用此接口将固定返回null
serverMsgId
- 指定消息的server message id.public abstract java.util.List<Message> getAllMessage()
由于聊天室类型会话中所有消息都不会保存到本地,调用此接口将固定返回null
public abstract java.util.List<Message> getMessagesFromOldest(int offset, int limit)
由于聊天室类型会话中所有消息都不会保存到本地,调用此接口将固定返回null
offset
- 获取消息的起始位置limit
- 获取消息的条数public abstract java.util.List<Message> getMessagesFromNewest(int offset, int limit)
由于聊天室类型会话中所有消息都不会保存到本地,调用此接口将固定返回null
offset
- 获取消息的起始位置limit
- 获取消息的条数public abstract boolean deleteMessage(int messageId)
由于聊天室类型会话中所有消息都不会保存到本地,调用此接口将固定返回false
messageId
- 被删除消息的message id。public abstract boolean deleteAllMessage()
由于聊天室类型会话中所有消息都不会保存到本地,调用此接口将固定返回false
public abstract boolean updateConversationExtra(java.lang.String extra)
extra
- 待更新的extra, 不能为nullpublic abstract boolean updateMessageExtra(Message msg, java.lang.String key, java.lang.String value)
msg
- 被更新的message对象key
- 待更新的key,不能为nullvalue
- 待更新的value,不能为nullpublic abstract boolean updateMessageExtra(Message msg, java.lang.String key, java.lang.Number value)
msg
- 被更新的message对象key
- 待更新的key,不能为nullvalue
- 待更新的value,不能为nullpublic abstract boolean updateMessageExtra(Message msg, java.lang.String key, java.lang.Boolean value)
msg
- 被更新的message对象key
- 待更新的key,不能为nullvalue
- 待更新的value,不能为nullpublic abstract boolean updateMessageExtras(Message msg, java.util.Map<java.lang.String,java.lang.String> extras)
msg
- 被更新的message对象extras
- 待更新的extras,将整个替换之前的extras,而不是增减逻辑。不能为nullpublic abstract Message createSendMessage(MessageContent content)
content
- 消息内容对象public abstract Message createSendMessage(MessageContent content, java.lang.String customFromName)
content
- 消息内容对象customFromName
- 自定义fromNamepublic abstract Message createSendMessage(MessageContent content, java.util.List<UserInfo> atList, java.lang.String customFromName)
可以自定义customFromName,自定义的customFromName将在对方的通知栏作为 展示名展示出来,如果未设置则会依照用户的备注 > 昵称 > 用户名的优先级来展示
content
- 消息内容对象atList
- 被@群成员的UserInfo ListcustomFromName
- 自定义fromNamepublic abstract Message createSendMessageAtAllMember(MessageContent content, java.lang.String customFromName)
可以自定义customFromName,自定义的customFromName将在对方的通知栏作为 展示名展示出来,如果未设置则会依照用户的备注 > 昵称 > 用户名的优先级来展示
content
- 消息内容对象customFromName
- 自定义fromNamepublic abstract Message createSendTextMessage(java.lang.String text)
text
- 消息的文本内容public abstract Message createSendTextMessage(java.lang.String text, java.lang.String customFromName)
text
- 消息的文本内容customFromName
- 自定义fromNamepublic abstract Message createSendImageMessage(java.io.File imageFile) throws java.io.FileNotFoundException
imageFile
- 图片文件java.io.FileNotFoundException
public abstract Message createSendImageMessage(java.io.File imageFile, java.lang.String customFromName) throws java.io.FileNotFoundException
imageFile
- 图片文件customFromName
- 自定义fromNamejava.io.FileNotFoundException
public abstract Message createSendVoiceMessage(java.io.File voiceFile, int duration) throws java.io.FileNotFoundException
voiceFile
- 语音文件duration
- 语音时长java.io.FileNotFoundException
public abstract Message createSendVoiceMessage(java.io.File voiceFile, int duration, java.lang.String customFromName) throws java.io.FileNotFoundException
voiceFile
- 语音文件duration
- 语音时长customFromName
- 自定义fromNamejava.io.FileNotFoundException
public abstract Message createSendCustomMessage(java.util.Map<? extends java.lang.String,? extends java.lang.String> valuesMap)
valuesMap
- 消息体mappublic abstract Message createSendCustomMessage(java.util.Map<? extends java.lang.String,? extends java.lang.String> valuesMap, java.lang.String customFromName)
valuesMap
- 消息体mapcustomFromName
- 自定义fromNamepublic abstract Message createSendFileMessage(java.io.File file, java.lang.String fileName, java.lang.String customFromName) throws java.io.FileNotFoundException, JMFileSizeExceedException
file
- 发送的文件fileName
- 发送的文件名称customFromName
- 自定义fromNamejava.io.FileNotFoundException
JMFileSizeExceedException
public abstract Message createSendFileMessage(java.io.File file, java.lang.String fileName) throws java.io.FileNotFoundException, JMFileSizeExceedException
file
- 发送的文件fileName
- 发送的文件名称java.io.FileNotFoundException
JMFileSizeExceedException
public abstract Message createLocationMessage(double latitude, double longitude, int scale, java.lang.String address)
latitude
- 纬度信息longitude
- 经度信息scale
- 地图缩放比例address
- 详细位置信息public abstract void retractMessage(Message message, BasicCallback callback)
聊天室类型会话不支持此操作
message
- 被撤回的消息callback
- 结果回调public java.lang.String toJson()
fromJson(String)
转换回来public static java.lang.String collectionToJson(java.util.Collection<Conversation> conversations)
fromJsonToCollection(String)
转换回来conversations
- public java.lang.String toJsonString()
public static Conversation fromJson(java.lang.String jsonString)
jsonString
- public static java.util.Collection<Conversation> fromJsonToCollection(java.lang.String jsonString)
jsonString
-