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。