Skip to content
v1
文档/Android SDK/消息

添加消息监听

接口

kotlin
fun BimMessageManager.addMessageListener(listener: BimMsgListener)
fun BimMessageManager.removeMessageListener(listener: BimMsgListener?)
fun BimMessageManager.removeMessageListener(key: String)

代码示例

kotlin
val msgListener = object : BimMsgListener {
    override val key: String = "message_listener"

    override fun onReceive(message: BimMessage) {
        // 收到新消息
    }

    override fun onUndo(message: BimMessage, operator: BimMessageParticipant) {
        // 消息被撤回
    }

    override fun onReadReceipt(event: BimReadReceiptEvent) {
        // 收到已读回执
    }

    override fun onOfflineSyncStart(eventData: BimOfflineSyncEvent) {
        // 离线同步开始
    }

    override fun onOfflineSyncEnd(eventData: BimOfflineSyncEvent) {
        // 离线同步结束
    }

    override fun onOfflineBatchReceive(messages: List<BimMessage>) {
        // 批量离线消息
    }
}

BimImManager.getInstance()
    .getMessageManager()
    .addMessageListener(msgListener)

onReceive 用于实时消息,onOfflineBatchReceive 用于离线批次;离线批次已按 ID 去重并按与 getMessages 一致的最新到最旧顺序返回。群组/好友 listener 不负责插入消息气泡。