Public 成员函数 | |
| void | onConnected () |
| void | onDisconnected (final int errorCode) |
| default void | onDatabaseOpened (String username) |
| default void | onTokenExpired () |
| default void | onTokenWillExpire () |
| default void | onLogout (final int errorCode, EMLoginExtensionInfo info) |
| default void | onOfflineMessageSyncStart () |
| default void | onOfflineMessageSyncFinish () |
| default void | onDataSyncStart (EMOptions.EMDataSyncType type) |
| default void | onDataSyncFinish (EMOptions.EMDataSyncType type, int errorCode) |
即时通讯状态连接监听器。
如果遇到弱网掉线情况,应用收到 onDisconnected,此时不需要处理重连操作,SDK 在底层自动处理重连。
回调函数只有 onConnected 和 onDisconnected 无需考虑连接中,断开中一类的中间状态。
注意:应用不要在这两个回调函数中更新界面,这两个线程属于工作线程,直接更新界面会导致界面的并发错误。也不要在这两个回调函数中 做大量的耗时操作,这可能会影响其他监听器处理连接事件。
示例代码如下: 注册连接监听器: java EMClient.getInstance().addConnectionListener(mConnectionListener);
移除连接监听器: java EMClient.getInstance().removeConnectionListener(mConnectionListener);
| void com.hyphenate.EMConnectionListener.onConnected | ( | ) |
成功连接到 chat 服务器时触发。
| default void com.hyphenate.EMConnectionListener.onDatabaseOpened | ( | String | username | ) |
本地数据库打开成功时触发。
该回调只表示指定用户的本地数据库已经打开,本地数据库接口可以使用;不表示在线登录成功, 也不替代 onConnected()。
| username | 数据库所属用户 ID。 |
| default void com.hyphenate.EMConnectionListener.onDataSyncFinish | ( | EMOptions.EMDataSyncType | type, |
| int | errorCode ) |
登录后自动数据同步结束时触发。
| type | 数据同步类型,可能的取值为:
|
| errorCode | 错误码。EMError#EM_NO_ERROR 表示成功。 |
| default void com.hyphenate.EMConnectionListener.onDataSyncStart | ( | EMOptions.EMDataSyncType | type | ) |
登录后自动数据同步开始时触发。
| type | 数据同步类型,可能的取值为:
|
| void com.hyphenate.EMConnectionListener.onDisconnected | ( | final int | errorCode | ) |
SDK 与 chat 服务器断开连接时触发。
注意断开连接时底层不一定会 logout。
常见错误如下:
EMError#USER_REMOVED,EMError#USER_LOGIN_ANOTHER_DEVICE, EMError#SERVER_SERVICE_RESTRICTED,EMError#USER_KICKED_BY_CHANGE_PASSWORD及 EMError#USER_KICKED_BY_OTHER_DEVICE
| default void com.hyphenate.EMConnectionListener.onLogout | ( | final int | errorCode, |
| EMLoginExtensionInfo | info ) |
SDK 退出登录时触发。
常见错误如下:
EMError#USER_LOGIN_ANOTHER_DEVICE,EMError#USER_REMOVED, EMError#USER_BIND_ANOTHER_DEVICE,EMError#SERVER_SERVICE_RESTRICTED,EMError#USER_DEVICE_CHANGED, EMError#USER_LOGIN_TOO_MANY_DEVICES,EMError#USER_KICKED_BY_CHANGE_PASSWORD, EMError#USER_KICKED_BY_OTHER_DEVICE,EMError#APP_ACTIVE_NUMBER_REACH_LIMITATION
| info | 登录扩展信息对象,包含 info.deviceExt 和 info.deviceInfo 参数。 |
当 errorCode 为 EMError#USER_LOGIN_ANOTHER_DEVICE 时:
| errorCode | 错误码。 |
| default void com.hyphenate.EMConnectionListener.onOfflineMessageSyncFinish | ( | ) |
从服务器拉取离线消息结束时触发。
| default void com.hyphenate.EMConnectionListener.onOfflineMessageSyncStart | ( | ) |
开始从服务器拉取离线消息时触发。
| default void com.hyphenate.EMConnectionListener.onTokenExpired | ( | ) |
token 已过期时触发。
常见错误为 EMError#TOKEN_EXPIRED。
| default void com.hyphenate.EMConnectionListener.onTokenWillExpire | ( | ) |
token 即将过期时触发。
常见错误为 EMError#TOKEN_WILL_EXPIRE。