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.