主頁 > 服務(wù)與支持 > 開發(fā)平臺(tái) > 客戶端SDK參考 > Android Native SDK > 登陸與注銷 登錄與注銷
更新時(shí)間:2019-11-20
描述
在使用CloudEC解決方案下的各類業(yè)務(wù)之前,需要向服務(wù)器完成登錄。不再使用業(yè)務(wù)時(shí)需注銷,確保業(yè)務(wù)接口使用的安全性。
登錄成功后,SDK自動(dòng)按?;钪芷诙〞r(shí)刷新鑒權(quán)憑證信息。
前提條件
已完成初始化。
業(yè)務(wù)流程
//Java code TsdkLoginParam tsdkLoginParam = new TsdkLoginParam(); tsdkLoginParam.setUserId(1); tsdkLoginParam.setAuthType(TsdkAuthType.TSDK_E_AUTH_NORMAL); tsdkLoginParam.setUserName(loginParam.getUserName()); tsdkLoginParam.setPassword(loginParam.getPassword()); tsdkLoginParam.setServerAddr(loginParam.getServerUrl()); tsdkLoginParam.setServerPort(loginParam.getServerPort()); tsdkLoginParam.setServerVersion(""); tsdkLoginParam.setServerType(TSDK_E_SERVER_TYPE_PORTAL); tsdkLoginParam.setUserTicket(""); ret = TsdkManager.getInstance().getLoginManager().login(tsdkLoginParam); |
//Java code public void onEvtAuthSuccess(int userId, TsdkImLoginParam imLoginParam) { LogUtil.e(TAG, "authorize success."); // 啟動(dòng)IM的登錄 if (TsdkManager.getInstance().getAppInfo().getSupportIm() == 1 && null != imLoginParam) { ImAccountInfo imAccountInfo = new ImAccountInfo(); imAccountInfo.setAccount(imLoginParam.getAccount()); imAccountInfo.setToken(imLoginParam.getToken()); String[] MaaUri = imLoginParam.getMaaServerUri().split(":"); imAccountInfo.setMaaServer(MaaUri[0]); imAccountInfo.setMaaServerPort(Integer.valueOf(MaaUri[1])); imAccountInfo.setPassword(imLoginParam.getPassword()); imAccountInfo.setPushServer(imLoginParam.getPushServerUri()); sendHandlerMessage(LoginEvent.LOGIN_E_EVT_AUTH_SUCCESS.getIndex(), imAccountInfo); } } |
如果登錄成功,會(huì)上報(bào)帳號(hào)短號(hào)號(hào)碼,UI應(yīng)保存此號(hào)碼,以方便后續(xù)操作。
//Java code public void onEvtVoipAccountStatus(int userId, TsdkVoipAccountInfo voipAccountInfo ) { LogUtil.e(TAG, "voip account status: " ); this.sipNumber = voipAccountInfo.getNumber(); if (!voipAccountInfo.getTerminal().equals("")) { this.terminal = voipAccountInfo.getTerminal(); } } |
有時(shí)候會(huì)出現(xiàn)鑒權(quán)成功,但是voip登錄失敗的情況??尚薷某跏蓟瘯r(shí)的參數(shù)productName來解決。
//Java code public void onEvtLoginSuccess(int userId) { LogUtil.i(TAG, "voip login success"); this.loginEventNotifyUI.onLoginEventNotify(LoginConstant.LoginUIEvent.LOGIN_SUCCESS, userId, "voip login success"); } |
注意事項(xiàng)
無。
描述
不再使用業(yè)務(wù)時(shí)需注銷,確保業(yè)務(wù)接口使用的安全性。
前提條件
登錄成功。
業(yè)務(wù)流程
//Java code public void logout() { int ret = TsdkManager.getInstance().getLoginManager().logout(); if (ret != 0) { LogUtil.e(TAG, "login is failed, return " + ret); } ImMgr.getInstance().imLogout(); } |
注意事項(xiàng)
無。
描述
不再使用業(yè)務(wù)時(shí)需注銷,確保業(yè)務(wù)接口使用的安全性。
前提條件
登錄成功。
業(yè)務(wù)流程
用戶帳號(hào)在其他位置登錄時(shí),服務(wù)器會(huì)通知應(yīng)用程序注銷本地帳號(hào)。
注意事項(xiàng)
無。
應(yīng)用程序監(jiān)測到斷網(wǎng)重連,應(yīng)根據(jù)預(yù)先配置的策略確定是否自動(dòng)發(fā)起登錄流程,若預(yù)配置,則發(fā)起登錄流程,與普通的“登錄”流程相同。
描述
用戶可以通過該接口修改自己的帳號(hào)的密碼。
前提條件
登錄成功。
業(yè)務(wù)流程
//Java code public int modifyPwd(String newPwd, String oldPwd) { TsdkModifyPasswordParam modifyPasswordParam = new TsdkModifyPasswordParam(newPwd, oldPwd); int ret = TsdkManager.getInstance().getLoginManager().modifyPassword(modifyPasswordParam); if (ret != 0) { LogUtil.e(TAG, "modifyPwd is failed, return " + ret); } return ret; } |
代碼示例:
//Java code @Override public void onEvtModifyPasswordResult(int userId, final TsdkCommonResult result) { Log.i(TAG, "onEvtModifyPasswordResult notify."); LoginMgr.getInstance().handModifyPasswordResult(result); }