主頁(yè) > 服務(wù)與支持 > 開(kāi)發(fā)平臺(tái) > 客戶端SDK參考 > Android Native SDK > 會(huì)議 網(wǎng)絡(luò)變化時(shí)恢復(fù)會(huì)議
更新時(shí)間:2019-11-20
描述
用戶正在會(huì)議中,用戶設(shè)備的網(wǎng)絡(luò)發(fā)生變化時(shí),應(yīng)用程序可以自動(dòng)恢復(fù)會(huì)議連接。
前提條件
用戶正在會(huì)議中,應(yīng)用程序檢測(cè)到IP地址變化。
業(yè)務(wù)流程
若應(yīng)用程序期望SDK嘗試以最大能力自動(dòng)恢復(fù),需要將參數(shù)TsdkLocalAddress對(duì)象中的屬性isTryResume設(shè)置為1。
代碼示例:
//java code public int resetConfig(boolean isVpn) { int ret; String ipAddress = DeviceManager.getLocalIpAddress(isVpn); if ("".equals(ipAddress) || localIpAddress.equals(ipAddress)) { localIpAddress = ipAddress; return -1; } localIpAddress = ipAddress; TsdkLocalAddress localAddress = new TsdkLocalAddress(); localAddress.setIpAddress(localIpAddress); localAddress.setIsTryResume(1); ret = TsdkManager.getInstance().setConfigParam(localAddress); if (ret != 0) { LogUtil.e(TAG, "resetConfig local ip is failed, return " + ret); } return ret; }
若不在會(huì)議中,則僅進(jìn)行嘗試恢復(fù)登錄處理。
代碼示例:
//java code @Override public void onEvtConfResumingInd(TsdkConference conference) { LogUtil.i(TAG, "onEvtConfResumingInd notify."); MeetingMgr.getInstance().handleConfResumingInd(); }
若在會(huì)議中,建議應(yīng)用程序僅提示“會(huì)議正在恢復(fù)中”。
代碼示例:
//java code @Override public void onEvtLoginResumingInd(long userId) { LogUtil.i(TAG, "onEvtLoginResumingInd notify."); LoginMgr.getInstance().handLoginResumingInd((int)userId); }
登錄狀態(tài)恢復(fù)過(guò)程中,SDK上報(bào)的過(guò)程事件通知與普通登錄處理相同?;謴?fù)過(guò)程若出現(xiàn)異常,則通過(guò)onEvtLoginResumeResult()方法上報(bào)原因。只有登錄恢復(fù)成功,SDK才會(huì)進(jìn)行會(huì)議恢復(fù)處理。
代碼示例:
//java code @Override public void onEvtLoginResumeResult(long userId, TsdkCommonResult result) { LogUtil.i(TAG, "onEvtLoginResumeResult notify."); LoginMgr.getInstance().handLoginResumeResult(result); }
代碼示例:
//java code @Override public void onEvtConfResumeResult(TsdkConference conference, TsdkCommonResult result, TsdkResumeConfIndInfo info) { LogUtil.i(TAG, "onEvtConfResumeResult notify."); MeetingMgr.getInstance().handleConfResumeResult(conference, result, info); }
注意事項(xiàng)
若SDK在首次上報(bào)的onEvtConfResumingInd事件60秒內(nèi),未正?;謴?fù)會(huì)議,SDK會(huì)自動(dòng)放棄恢復(fù)。