获取会话
SDK 在连接状态下会自动同步云端的会话列表并保存到本地数据库,你可以从本地数据库获取 SDK 保存的完整会话列表并根据相关会话属性自行决定展示方式。
获取会话列表
通过以下接口获取所有会话列表,包括进入盒子的会话。获取到的会话列表按照时间倒序排列,置顶会话会排在最前。
接口定义
kotlin
fun getChatListAll(callback: IResultCallback<List<KIMCoreChat>>)
代码示例
kotlin
KIMCore.instance().getChatListAll(object : IResultCallback<List<KIMCoreChat>> {
override fun onSuccess(result: List<KIMCoreChat>?) {
TODO()
override fun onError(errorCode: ErrorCode) {
TODO()
}
})
监听会话列表变化
当接收到新消息、会话属性变更、会话已读未读等将导致会话列表数据或排序变更,将触发会话列表刷新。你可以通过添加监听器的方式监听会话列表刷新变更。
添加监听器
接口定义
kotlin
fun addChatSyncServerListener(owner: LifecycleOwner?, listener: OnChatSyncServerListener)
代码示例
kotlin
KIMCore.instance().addChatSyncServerListener(null, object : OnChatSyncServerListener {
override fun onStart() {
Log.d("sync onStart")
override fun onPartSus() {
Log.d("sync onPartSus")
override fun onFinish() {
Log.d("sync onFinish")
override fun onFail() {
Log.d("sync onFail")
}
})
移除监听器
代码示例
kotlin
KIMCore.instance().removeChatSyncServerListener(listener)
获取会话列表中指定会话
接口定义
kotlin
fun getChat(chatId: String, callback: IResultCallback<KIMCoreChat>)
代码示例
kotlin
KIMCore.instance().getChat("chatId", object : IResultCallback<KIMCoreChat> {
override fun onSuccess(result: KIMCoreChat?) {
TODO("Not yet implemented")
}
override fun onError(errorCode: ErrorCode) {
TODO("Not yet implemented")
}
})
获取指定会话详情
接口定义
kotlin
fun getChatInfo(chatId: String, callback: IResultCallback<KIMCoreChatInfo>?)
代码示例
kotlin
KIMCore.instance().getChatInfo("chatId",object :IResultCallback<KIMCoreChatInfo>{
override fun onSuccess(result: KIMCoreChatInfo?) {
}
override fun onError(errorCode: ErrorCode) {
}
})