hyphenate_SDK4.0 4.6.0
hyphenate java IM SDK
|
Public 成员函数 | |
void | onConnected () |
void | onDisconnected (final int errorCode) |
default void | onTokenExpired () |
default void | onTokenWillExpire () |
default void | onLogout (final int errorCode) |
default void | onLogout (final int errorCode, String info) |
即时通讯状态连接监听器。
如果遇到弱网掉线情况,应用收到 onDisconnected,此时不需要处理重连操作,SDK 在底层自动处理重连。
回调函数只有 onConnected 和 onDisconnected 无需考虑连接中,断开中一类的中间状态。
注意:应用不要在这两个回调函数中更新界面,这两个线程属于工作线程,直接更新界面会导致界面的并发错误。也不要在这两个回调函数中 做大量的耗时操作,这可能会影响其他监听器处理连接事件。
示例代码如下: 注册连接监听器: ```java EMClient.getInstance().addConnectionListener(mConnectionListener); ```
移除连接监听器: ```java EMClient.getInstance().removeConnectionListener(mConnectionListener); ```
void com.hyphenate.EMConnectionListener.onConnected | ( | ) |
成功连接到 chat 服务器时触发。
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 | ) |
default void com.hyphenate.EMConnectionListener.onLogout | ( | final int | errorCode, |
String | info | ||
) |
SDK 退出登陆时触发。
errorCode | 错误码。 |
常见错误如下:
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 | 错误扩展信息。 |
当 errorCode 为 EMError#USER_LOGIN_ANOTHER_DEVICE 时,info 是将当前设备踢出/挤下线的自定义设备名称,若设备没有自定义设备名称时默认回调设备型号,例如 HUAWEICOL-AL10。其他错误码场景下 info 为空。
default void com.hyphenate.EMConnectionListener.onTokenExpired | ( | ) |
token 已过期时触发。
常见错误为 EMError#TOKEN_EXPIRED。
default void com.hyphenate.EMConnectionListener.onTokenWillExpire | ( | ) |
token 即将过期时触发。
常见错误为 EMError#TOKEN_WILL_EXPIRE。