/** * 登錄方法 * 這部分相對簡單,登錄以前判斷XMPP是否鏈接,登錄成功將用戶狀態改成在線 * @param account * @param password * @return */ public static boolean login(Context context, GeneralChatRoomHandler mhandler, CharRoomCore successful, String account, String password) { ChatRoomInfo.account = account; try { LogUtil.w("login is error"); if (XmppTool.getInstance().getConnection(context, mhandler, successful) == null) {// 若是網絡沒有鏈接上 LogUtil.i("沒有網絡i"); return false; } /** 登陸 * SASL的認證方式 在客戶端要聲明,客戶端必須支持PLAIN模式--用戶名和密碼經過網絡傳輸,不安全 * 關於SASL認證,有興趣的能夠查詢下其餘資料 * */ SASLAuthentication.supportSASLMechanism("PLAIN", 0); XmppTool.getInstance().getConnection(context, mhandler, successful).login(account, password); // 設置登陸狀態:在線 Presence presence = new Presence(Presence.Type.available); XmppTool.getInstance().getConnection(context, mhandler, successful).sendPacket(presence); return true; } catch (Exception e) { e.printStackTrace(); LogUtil.w("login close"); //登陸失敗記得將鏈接關閉 XmppTool.getInstance().closeConnection(); } return false; }
登錄部分上面的註釋已經寫的很清楚,但我也提一點,登錄操做是異步的,實際使用還須要將其放到線程裏;html
關於如何創建鏈接請參考:http://www.cnblogs.com/ZhangXiangQian/p/5254840.html安全