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。