群组状态监听
kotlin
fun BimImManager.addDiscussionListener(listener: BimDiscussionListener)
fun BimImManager.removeDiscussionListener(listener: BimDiscussionListener)
fun BimImManager.removeDiscussionListener(key: String)BimDiscussionListener 提供以下状态事件:
kotlin
fun onMemberEnter(discussionId: String, memberList: List<BimDiscussionMember>)
fun onMemberLeave(discussionId: String, member: BimDiscussionMember)
fun onMemberInvited(discussionId: String, opUser: BimDiscussionMember, memberList: List<BimDiscussionMember>)
fun onMemberKicked(discussionId: String, opUser: BimDiscussionMember, memberList: List<BimDiscussionMember>)
fun onDiscussionMemberMuteChanged(discussionId: String, memberList: List<BimDiscussionMember>)
fun onDiscussionCreated(discussionId: String)
fun onDiscussionDismissed(discussionId: String, opUser: BimDiscussionMember)
fun onDiscussionOwnerChanged(discussionId: String, opUser: BimDiscussionMember, newOwner: BimDiscussionMember)
fun onDiscussionProfileChanged(discussionId: String, discussion: BimDiscussion, changedFields: Collection<BimDiscussionProfileField>)
fun onAllDiscussionMembersMuted(discussionId: String, isMuted: Boolean, muteUntil: Long)
fun onQuitFromDiscussion(discussionId: String)示例:
kotlin
val listener = object : BimDiscussionListener {
override val key = "discussion_listener"
override fun onDiscussionProfileChanged(
discussionId: String,
discussion: BimDiscussion,
changedFields: Collection<BimDiscussionProfileField>,
) { println("changed=$changedFields") }
}
BimImManager.getInstance().addDiscussionListener(listener)群组 listener 只表达群状态变化,不插入消息或生成消息气泡;群消息仍通过 BimMsgListener 处理。muteUntil 为毫秒时间戳,0 表示未禁言或服务端未返回。
