public class EMConversation
extends java.lang.Object
下面的示例会取得对话中未读的消息数:
EMConversation conversation = EMChatManager.getInstance().getConversation("user1"); int unread = conversation.getUnreadMsgCount();
限定符和类型 | 类和说明 |
---|---|
static class |
EMConversation.EMConversationType
define the conversation type
|
构造器和说明 |
---|
EMConversation(java.lang.String username)
创建一个对话
|
EMConversation(java.lang.String username,
boolean isGroup)
创建一个会话
|
EMConversation(java.lang.String username,
java.util.List<EMMessage> msgs,
EMConversation.EMConversationType type,
java.lang.Long msgCount)
已过时。
should not be used outside easemob SDK
|
限定符和类型 | 方法和说明 |
---|---|
void |
addMessage(EMMessage message)
向对话添加一条消息
|
void |
clear()
清除对话中的所有消息,只清除内存的,不清除db的消息
|
java.util.List<EMMessage> |
getAllMessages()
获取此conversation当前内存所有的message
|
int |
getAllMsgCount()
获取本地存储会话的全部消息数目
|
java.lang.String |
getExtField()
获取用户可以自行定义会话扩展字段
该字段只保存在本地,不进行网络同步
|
boolean |
getIsGroup()
已过时。
已过时
|
EMMessage |
getLastMessage()
获取队列中的最后一条消息 (此操作不会改变未读消息计数)
|
EMMessage |
getMessage(int position)
获取对话指定位置的消息
|
EMMessage |
getMessage(int position,
boolean markAsRead)
获取对话指定位置的消息
|
EMMessage |
getMessage(java.lang.String messageId)
根据msgid获取消息
消息会被自动标记为已读
|
EMMessage |
getMessage(java.lang.String messageId,
boolean markAsRead)
根据msgid获取消息
|
int |
getMessagePosition(EMMessage message)
获取message的position
|
int |
getMsgCount()
获取对话中已经加载到内存中消息的数目
|
EMConversation.EMConversationType |
getType() |
int |
getUnreadMsgCount()
获取此对话中未读取的消息数目
|
java.lang.String |
getUserName()
获取此对话的用户名 或群组名
|
boolean |
isGroup()
已过时。
已过时,请使用
getType() 替代 |
EMMessage |
loadMessage(java.lang.String msgId)
加载一条消息,如果缓存不存在会去DB查询并加载
|
java.util.List<EMMessage> |
loadMessages(java.util.List<java.lang.String> msgIds)
加载一组消息,如果缓存不存在会去DB查询并加载
|
java.util.List<EMMessage> |
loadMoreGroupMsgFromDB(java.lang.String startMsgId,
int pageSize)
根据传入的参数从db加载startMsgId之前(存储顺序)指定数量的群聊message,
加载到的messages会加入到当前conversation的messages里
|
java.util.List<EMMessage> |
loadMoreMessages(boolean isLoadDirectionToOld,
java.lang.String startMsgId,
int pageSize)
根据传入的参数从db加载startMsgId之前(后)(存储顺序)指定数量的message,
加载到的messages会加入到当前conversation的messages里
|
java.util.List<EMMessage> |
loadMoreMsgFromDB(java.lang.String startMsgId,
int pageSize)
根据传入的参数从db加载startMsgId之前(存储顺序)指定数量的message,
加载到的messages会加入到当前conversation的messages里
|
void |
markAllMessagesAsRead() |
void |
markAsKeywordSearch() |
void |
markMessageAsRead(java.lang.String messageId)
设置某条消息为已读
|
static EMConversation.EMConversationType |
msgType2ConversationType(java.lang.String id,
EMMessage.ChatType type) |
void |
removeMessage(java.lang.String messageId)
删除一条指定的消息
|
void |
resetUnreadMsgCount()
已过时。
|
void |
resetUnsetMsgCount()
已过时。
insted of
resetUnreadMsgCount() |
void |
setExtField(java.lang.String ext)
用户可以自行定义会话扩展字段
该字段只保存在本地,不进行网络同步
|
void |
setGroup(boolean value)
已过时。
已过时,请使用
#setType(ChatType) 替代 |
public EMConversation(java.lang.String username)
username
- 对话的用户名public EMConversation(java.lang.String username, boolean isGroup)
username
- 会话的用户名或群组idisGroup
- true为群聊,false为单聊public EMConversation(java.lang.String username, java.util.List<EMMessage> msgs, EMConversation.EMConversationType type, java.lang.Long msgCount)
username
- , or group namemsgs
- chatType
- msgCount
- public void addMessage(EMMessage message)
message
- 消息public int getUnreadMsgCount()
public void resetUnsetMsgCount()
resetUnreadMsgCount()
public void resetUnreadMsgCount()
markAllMessagesAsRead()
public void markAllMessagesAsRead()
public int getMsgCount()
public int getAllMsgCount()
public EMMessage getMessage(int position)
position
- 在对话队列中的位置public EMMessage getMessage(int position, boolean markAsRead)
position
- markAsRead
- 是否标记消息为已读public java.util.List<EMMessage> loadMoreMsgFromDB(java.lang.String startMsgId, int pageSize)
startMsgId
- 加载这个id之前的messagepageSize
- 加载多少条public java.util.List<EMMessage> loadMoreMessages(boolean isLoadDirectionToOld, java.lang.String startMsgId, int pageSize)
isLoadDirectionToOld
- 加载消息的方向,true为向前加载,false为向后加载startMsgId
- 加载这个id之前的messagepageSize
- 加载多少条public java.util.List<EMMessage> loadMoreGroupMsgFromDB(java.lang.String startMsgId, int pageSize)
startMsgId
- 加载这个id之前的messagepageSize
- 加载多少条public EMMessage getMessage(java.lang.String messageId)
messageId
- public EMMessage getMessage(java.lang.String messageId, boolean markAsRead)
messageId
- 需要获取的消息idmarkAsRead
- 是否获取的同时标记消息为已读public EMMessage loadMessage(java.lang.String msgId)
msgId
- public java.util.List<EMMessage> loadMessages(java.util.List<java.lang.String> msgIds)
msgIds
- 一组消息IDpublic void markMessageAsRead(java.lang.String messageId)
messageId
- 消息IDpublic java.util.List<EMMessage> getAllMessages()
public int getMessagePosition(EMMessage message)
message
- public java.lang.String getUserName()
public void removeMessage(java.lang.String messageId)
messageId
- 待删除消息的IDpublic boolean getIsGroup()
public boolean isGroup()
getType()
替代public void setGroup(boolean value)
#setType(ChatType)
替代value
- public EMMessage getLastMessage()
public void clear()
public void setExtField(java.lang.String ext)
value
- 会话对应扩展字段的内容public java.lang.String getExtField()
public EMConversation.EMConversationType getType()
public void markAsKeywordSearch()
public static EMConversation.EMConversationType msgType2ConversationType(java.lang.String id, EMMessage.ChatType type)
Copyright © 2014 EaseMob.com. All Rights Reserved.