使用的是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; } } }
时间: 2024-08-29 04:41:04