標籤:
使用的是AsyncTask,可以把login放到裡面。
因為這是我自己的項目代碼,所以我盡量不發太多耦合性很強的代碼
private Integer login(){String name = Util.readPre(context, app.getLoginname(), GoLoveApp.USERNAME, "");String pwd = Util.readPre(context, app.getLoginname(), GoLoveApp.PASSWORD, "");try {XMPPConnection connection = XmppConnectionManager.getInstance().getConnection();connection.connect();connection.login(name, Util.MD5(pwd));//處理離線訊息OfflineMsgManager.getInstance(context).getOfflineMsg(connection);connection.sendPacket(new Presence(Presence.Type.available));return GoLoveApp.LOGIN_SECCESS;} catch (Exception e) {if(e instanceof XMPPException){XMPPException xe = (XMPPException) e;final XMPPError error = xe.getXMPPError();int errorCode = 0;if(error!=null){errorCode = error.getCode();}if(errorCode==401 || errorCode==403){return GoLoveApp.LOGIN_ERROR_ACCOUNT_PASS;}else{return GoLoveApp.SERVER_UNAVAILABLE;}}else{return GoLoveApp.LOGIN_ERROR;}}}
Android Asmack登入