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

会话盒子

会话盒子介绍

会话盒子指拥有共同性质的一类会话的合集,由会话设置属性boxType确定,可将相同类型的会话聚合为一类列表,减少主列表消息干扰。

获取会话盒子列表

接口定义

kotlin
fun getBoxList(callback: IResultCallback<List<KIMCoreBox>>)

参数说明

参数类型返回值说明
callbackIResultCallback<List<KIMCoreBox>>回调

下表列出了 KIMCoreBox 中提供的主要方法

方法名返回值说明
getBoxTypeint盒子类型
Constant.BOX_TYPE
getAvatarstring盒子头像
getNamestring盒子名称
isStickiedbool是否置顶
getLastTimelong最后消息更新时间,单位ns
getLastReadTimelong上次读取消息时间,单位ns
getUnReadCountint未读数

代码示例

kotlin
KIMCore.instance().getBoxList(object :IResultCallback<List<KIMCoreBox>>{
    override fun onSuccess(result: List<KIMCoreBox>?) {
        TODO()
    }
    override fun onError(errorCode: ErrorCode) {
        TODO()
    }
})

获取指定盒子类型的会话列表

接口定义

kotlin
fun getChatListByType(chatTypes: List<Int>, callback: IResultCallback<List<KIMCoreChat>>)

代码示例

kotlin
KIMCore.instance().getChatListByBoxType(listOf(Constant.BOX_TYPE.ASSISTANT_BOX),
    object : IResultCallback<Map<Int, List<KIMCoreChat>>> {
        override fun onSuccess(result: Map<Int, List<KIMCoreChat>>?) {
            TODO()
        }
        override fun onError(errorCode: ErrorCode) {
            TODO()
        }
    })

获取指定类型会话盒子未读数

接口定义

kotlin
fun boxUnreadTotalCount(boxType: Int): LiveData<Int>

代码示例

kotlin
KIMCore.instance().boxUnreadTotalCount(boxType).observe()

操作会话盒子

接口定义

kotlin
fun setBoxProps(action: String, boxType: Int, callback: IResultCallback<Boolean>?)

参数说明

参数类型说明
actionString操作类型
Constant.BOX_PROP
boxTypeint盒子类型
Constant.BOX_TYPE
callbackIResultCallback<Boolean>回调

Constant.BOX_TYPE值枚举:

类型说明
BOX_PROP.STICKYsticky置顶
BOX_PROP.UN_STICKYunsticky取消置顶
BOX_PROP.READread已读

代码示例

kotlin
KIMCore.instance().setBoxProps(action,boxType,object :IResultCallback<Boolean>{
    override fun onSuccess(result: Boolean?) {
        TODO()
    }
    override fun onError(errorCode: ErrorCode) {
        TODO()
    }
})

监听会话盒子变化

接口定义

kotlin
//添加监听器
fun addBoxPropsListener(owner: LifecycleOwner?, listener: KIMBoxPropsListener)
//移除监听器
fun removeBoxPropsListener(listener: KIMBoxPropsListener)

参数说明

参数类型说明
listenerKIMBoxPropsListener监听器

KIMBoxPropsListener

方法参数返回值说明
changeint boxType
变更状态的boxType
String prop
具体变化类型
Constant.BOX_PROP
long seq
当 prop为 Constant.BOX_PROP#READ,表示已读的时间戳。
回调方法

代码示例

kotlin
KIMCore.instance().addBoxPropsListener(owner, object : KIMBoxPropsListener {
    override fun change(boxType: Int, prop: String, seq: Long) {
        TODO()
    }
})
kotlin
KIMCore.instance().removeBoxPropsListener(listener)