EventType 枚举(Android IMLib)

事件类型枚举:共 16 个取值,定义来自 sdk-imlib.json → capabilityModel.events(全部事件)。

基本信息​

项值
枚举EventType
取值数16
本平台常量名IMClientEvent
IDL 来源sdk-imlib.json → capabilityModel.events(全部事件)
跨端一致性取值跨端一致;常量名与成员名按平台绑定
平台状态已交付

枚举常量摘要​

事件本平台常量载荷说明
CONNECTINGIMClientEvent.CONNECTING{attempt:int}连接建立中:每次建连/重连尝试时触发,载荷含重试次数 attempt。
CONNECTEDIMClientEvent.CONNECTED{userId:string, sessionId?:string}连接建立成功:收到服务端 hello 之后触发,可开始发送请求。
DISCONNECTIMClientEvent.DISCONNECT{code:int, reason:string}连接断开:主动断开、鉴权失败或放弃重连时触发。
SUSPENDIMClientEvent.SUSPEND{code:int, reason:string}连接挂起:异常断开后 SDK 进入指数退避重连,期间业务请求会失败。
MESSAGESIMClientEvent.MESSAGES{messages:Message[]}收到消息:在线消息与离线补发消息都通过该事件下发,载荷为 Message 列表。
CONVERSATIONIMClientEvent.CONVERSATION{conversation:Conversation}会话变更:未读数、置顶、提醒级别、草稿或最后一条消息变化时触发。
MESSAGE_RECALLEDIMClientEvent.MESSAGE_RECALLED{message:Message}消息被撤回:收到服务端撤回帧,载荷为被撤回的 Message。
READ_RECEIPTIMClientEvent.READ_RECEIPTReadReceipt已读回执:收到对方已读上报,载荷为 ReadReceipt。
TYPINGIMClientEvent.TYPING{conversationType:ConversationType,targetId:string,userId:string,typing:bool,timestamp:int64}输入状态:收到“正在输入”状态帧。
FRIEND_EVENTIMClientEvent.FRIEND_EVENT{kind:FriendEventKind,request?:FriendRequest,fromUserId?:string,toUserId?:string,timestamp:int64}好友事件:好友请求、接受、拒绝等事件,载荷含 FriendRequest。
CHATROOM_EVENTIMClientEvent.CHATROOM_EVENT{chatroomId:string,kind:ChatroomEventKind,userId?:string,onlineCount?:uint32,chatroom?:Chatroom,timestamp:int64}聊天室事件:成员加入/退出/被移出、成员变更、聊天室销毁。
KICKEDIMClientEvent.KICKED{code:int,reason:string}被踢下线:多端互踢或账号封禁,SDK 不再自动重连。
MESSAGE_REACTION_CHANGEDIMClientEvent.MESSAGE_REACTION_CHANGED{messageId:string,conversationType:ConversationType,targetId:string,reactionId:string,operation:added|removed|cleared,userId:string,reactionTime:int64,totalCount:uint32,users:string[]?}—
MESSAGE_EXPANSION_CHANGEDIMClientEvent.MESSAGE_EXPANSION_CHANGED{messageId:string,conversationType:ConversationType,targetId:string,updated:Record<string,string>?,removed:string[]?,timestamp:int64}—
STREAM_MESSAGE_CHANGEDIMClientEvent.STREAM_MESSAGE_CHANGED{streamId:string,messageId:string,conversationType:ConversationType,targetId:string,senderId:string,delta:string,seq:uint32,text:string,status:streaming|ended,complete:bool,timestamp:int64}—
PRESENCE_CHANGEDIMClientEvent.PRESENCE_CHANGED{userId:string,online:bool,lastSeenAt:int64,timestamp:int64,reason:connect|disconnect|kick|deactivate}—

使用说明​

addEventListener / removeEventListener 的事件名取值;事件载荷与触发时机见监听器类页面。

事件通过 addEventListener(event: IMClientEvent, handler: EventHandler) / removeEventListener(event: IMClientEvent, handler: EventHandler);同一 handler 重复注册只生效一次 注册;事件载荷与触发时机见 IMClientEvent。

示例​

Kotlin
val handler = object : EventHandler { /* 实现回调 */ }
client.addEventListener(IMClientEvent.MESSAGES, handler)

相关链接​