Skip to content
能力中心
产品中心
应用市场
WebOffice
开发者后台

获取会话

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) {

    }
})