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。