public final class ChatConversationManager
extends com.tuisongbao.engine.common.BaseManager
ChatConversation
的管理类
Engine
只有一个该实例。Modifier and Type | Field and Description |
---|---|
static java.lang.String |
EVENT_CONVERSATION_NEW
新会话事件,该事件触发时表示有新的会话生成,建议开发者调用
getList(ChatType, String, EngineCallback) 或者 getLocalList()
刷新 UI。 |
Constructor and Description |
---|
ChatConversationManager(Engine engine) |
Modifier and Type | Method and Description |
---|---|
void |
clearCache()
清除所有缓存的会话,包括相关消息
|
void |
delete(ChatType chatType,
java.lang.String target,
com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
删除会话
|
ChatConversation |
find(java.lang.String target)
查找会话,不发送请求,只从缓存中查找,不存在时返回
null 。获取最新的数据请使用 getList(ChatType, String, EngineCallback) 。 |
void |
getList(ChatType chatType,
java.lang.String target,
com.tuisongbao.engine.common.callback.EngineCallback<java.util.List<ChatConversation>> callback)
获取会话列表
|
java.util.List<ChatConversation> |
getLocalList()
获取缓存的会话列表
|
void |
getMessages(ChatType chatType,
java.lang.String target,
java.lang.Long startMessageId,
java.lang.Long endMessageId,
int limit,
com.tuisongbao.engine.common.callback.EngineCallback<java.util.List<ChatMessage>> callback)
获取某个会话的历史消息。startMessageId 和 endMessageId 都可选,都为
null 时表示获取最新的limit 条消息 |
ChatConversation |
loadOne(java.lang.String target,
ChatType type)
获取本地会话,不发送请求,只从缓存中查找,不存在时会创建一个新会话。
|
void |
resetUnread(ChatType chatType,
java.lang.String target,
com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
重置未读消息数
|
bind, bindOnce, trigger, unbind, unbind
public static final transient java.lang.String EVENT_CONVERSATION_NEW
getList(ChatType, String, EngineCallback)
或者 getLocalList()
刷新 UI。public ChatConversationManager(Engine engine)
public ChatConversation find(java.lang.String target)
null
。获取最新的数据请使用 getList(ChatType, String, EngineCallback)
。target
- 必填,userId 或 groupId,表示与谁的会话public ChatConversation loadOne(java.lang.String target, ChatType type)
target
- 必填,userId 或 groupId,表示与谁的会话type
- 聊天类型public java.util.List<ChatConversation> getLocalList()
建议当收到 EVENT_CONVERSATION_NEW
时,调用该方法获取当前最新的会话列表,节省流量。
ChatConversation.lastActiveAt
逆序排列的会话列表public void getList(ChatType chatType, java.lang.String target, com.tuisongbao.engine.common.callback.EngineCallback<java.util.List<ChatConversation>> callback)
chatType
- ChatType.SingleChat
(单聊) 或 ChatType.GroupChat
(群聊)target
- 可选,userId 或 groupId;表示与谁的会话,为 null
时表示获取该用户的所有会话callback
- 结果通知函数public void resetUnread(ChatType chatType, java.lang.String target, com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
chatType
- ChatType.SingleChat
(单聊) 或 ChatType.GroupChat
(群聊)target
- 必填,userId 或 groupIdpublic void delete(ChatType chatType, java.lang.String target, com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
chatType
- ChatType.SingleChat
(单聊) 或 ChatType.GroupChat
(群聊)target
- 必填,userId 或 groupIdcallback
- 结果通知函数public void getMessages(ChatType chatType, java.lang.String target, java.lang.Long startMessageId, java.lang.Long endMessageId, int limit, com.tuisongbao.engine.common.callback.EngineCallback<java.util.List<ChatMessage>> callback)
null
时表示获取最新的limit
条消息chatType
- ChatType.SingleChat
(单聊) 或 ChatType.GroupChat
(群聊)target
- 必填,userId 或 groupIdstartMessageId
- 起始 messageIdendMessageId
- 结束的 messageIdlimit
- 消息条数限制callback
- 结果通知函数public void clearCache()