集成会话列表界面
协作中台 SDK 支持会话列表的集成,会话列表功能如下:
根据消息生成会话列表,即最近聊天记录。
将指定的某类会话聚合,如消息助手。
效果展示

可以通过两种方式集成会话列表页面:
KIMChatListActivity,直接包含了 KIMChatListFragment 的 Activity 界面,可以通过
KIM.getService().goPage(KIMChatListFragment::class.java.getPageName(), this, Bundle())启动KIMChatListFragment,接入方可以将该 Fragment 嵌入自己的 Activity,直接创建 KIMChatListFragment, 并通过 fragmentManager 添加到自定义的 Activity 中
接口定义
kotlin
fun goPage(pageName: String,context: Context?,args: Bundle)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| pageName | string | 这里固定值:KIMChatListFragment::class.java.getPageName() |
| context | Context | 上下文 |
| args | Bundle |
代码示例
- 直接使用
KIMChatListActivity
kotlin
KIM.getService().goPage(KIMChatListFragment::class.java.getPageName(), this, Bundle())- 使用
KIMChatListFragment,接入方可以将该Fragment嵌入自己的Activity,直接创建KIMChatListFragment, 并通过fragmentManager添加到自定义的Activity中。
- 自定义
Activity并将Fragment加入到Activity中。
kotlin
class CustomChatListActivity : FragmentActivity() {
private lateinit var binding: KimUiCommonFragmentContainerBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = KimUiCommonFragmentContainerBinding.inflate(layoutInflater)
setContentView(binding.root)
if (savedInstanceState == null) {
val fragment = KIMChatListFragment()
fragment.arguments = intent.getBundleExtra(Router.EXTRA_DATA)
supportFragmentManager.beginTransaction()
.add(R.id.container, fragment, KIMChatListFragment.PAGE_NAME)
.commitAllowingStateLoss()
} else {
val fragment = supportFragmentManager.findFragmentByTag(KIMChatListFragment.PAGE_NAME)
if (fragment == null) {
finish()
return
}
supportFragmentManager.beginTransaction()
.attach(fragment)
.commitAllowingStateLoss()
}
}
}请注意在 Manifest 完成注册及主题设置。
- 启动 Activity
kotlin
startActivity(Intent(this, CustomChatListActivity::class.java))