连接状态
接口
kotlin
fun BimImManager.getConnectionState(): BimConnectionState
fun BimImManager.addConnectionListener(listener: BimConnectionListener)
fun BimImManager.removeConnectionListener(listener: BimConnectionListener)
fun BimImManager.removeConnectionListener(key: String)兼容的 SDK 生命周期监听仍通过 baseCoreService 注册:
kotlin
fun BimBaseCoreService.addSdkListener(listener: BimSdkListener)
fun BimBaseCoreService.removeSdkListener(listener: BimSdkListener)
interface BimSdkListener {
fun onConnecting()
fun onConnected()
fun onConnectFailed(code: Int, msg: String)
fun onKickedOffline()
fun onTokenExpired()
}BimSdkListener 表达连接尝试和兼容生命周期事件;需要读取稳定连接状态时使用本页的 BimConnectionListener。
状态值为 DISCONNECTED、CONNECTING、CONNECTED、FAILED。CONNECTED 表示认证握手和消息消费者均已就绪。
kotlin
val listener = object : BimConnectionListener {
override val key = "app_connection"
override fun onStateChanged(state: BimConnectionState) {
println("connection=$state")
}
}
val im = BimImManager.getInstance()
im.addConnectionListener(listener)
println(im.getConnectionState())
// 页面销毁或模块退出时移除
im.removeConnectionListener(listener)所有公开业务 callback 和 listener 默认在主线程派发;顺序由 SDK 的串行派发边界保证。
