登出及注销

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。