集成会话列表界面
协作中台 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))