登出及注销
1、注销sdk
- ECDevice.logout(new ECDevice.OnLogoutListener() {
- @Override
- public void onLogout() {
- // SDK 回调通知当前登出成功
- // 这里可以做一些(与云通讯IM相关的)应用资源的释放工作
- // 如(关闭数据库,释放界面资源和跳转等)
- }})
- // V5.1.8r版本开始,增加退出登录新消息提醒接口
- /**
- * 根据设置的{@link NotifyMode} 类型注销SDK,SDK会根据应用设置的是否接受消息提醒属性来提醒接收到的Push消息。
- * 1、如果应用设置了{@link NotifyMode#NOT_NOTIFY} 即表示应用注销SDK,不再接收新的消息提醒,
- * 调用此接口后SDK处于离线状态,此时可以再次调用注册接口{@link #login(ECInitParams)}
- * 进行登录,也可以调用{@link #unInitial()}接口释放SDK。
- * 2、如果应用设置了{@link NotifyMode#IN_NOTIFY} 即表示应用注销SDK,但是继续接收新的消息提醒,
- * 此时SDK处于在线状态,并且SDK的所有新消息不会再直接PUSH给应用,而是SDK直接采用状态栏通知的方式进行提醒,
- * 此时可以再次调用注册接口{@link #login(ECInitParams)} 进行登录,也可以调用{@link #unInitial()}接口释放SDK,
- * 并不会对SDK正常接收消息有任何影响
- * 注意:如果应用调用了{@link #unInitial()}接口释放SDK,需要调用{@link #initial(Context, InitListener)}接口
- * 重新初始化SDK,才能调用注册接口注册SDK,否则会提示SDK未初始化异常{@link SdkErrorCode#SDK_NOT_INIT}
- * @param notifyMode 消息提醒类型(是否接受消息Push)
- * @param listener SDK注销回调
- *
- * @see #login(ECInitParams)
- * @see OnLogoutListener
- */
- public static void logout(NotifyMode notifyMode , OnLogoutListener listener)
- // 消息提醒规则可以通过如下接口设置:
- ECNotifyOptions mOptions = new ECNotifyOptions();
- // 设置新消息是否提醒
- mOptions.setNewMsgNotify(true);
- // 设置状态栏通知图标
- mOptions.setIcon(R.drawable.ic_launcher);
- // 设置是否启用勿扰模式(不会声音/震动提醒)
- mOptions.setSilenceEnable(false);
- // 设置勿扰模式时间段(开始小时/开始分钟-结束小时/结束分钟)// 小时采用24小时制// 如果设置勿扰模式不启用,则设置勿扰时间段无效// 当前设置晚上11点到第二天早上8点之间不提醒
- mOptions.setSilenceTime(23, 0, 8, 0);// 设置是否震动提醒(如果处于免打扰模式则设置无效,没有震动)
- mOptions.enableShake(true);// 设置是否声音提醒(如果处于免打扰模式则设置无效,没有声音)
- mOptions.enableSound(true);// 设置退出登录后接收消息提醒规则ECDevice.setNotifyOptions(mOptions);说明: 注销SDk,调用此接口后SDK处于离线状态,此时可以再次调用注册接口void login(ECInitParams inInitParams)进行登录,也可以调用unInitial()接口释放SDK。
2、释放sdk
- ECDevice.unInitial();
- 说明:通过该方法释放云通讯SDK,方法释放后,SDK处于资源被释放状态、需要调用initial(Context, InitListener)重新初始化SDK。