new Thread(){ @Override public void run() { Looper.prepare(); if (getInfo()){ Intent intent = new Intent(); intent.setClass(MainActivity.this, DetailActivity.class); startActivity(intent); }else{ Toast.makeText(MainActivity.this, "用戶名或密碼錯誤", Toast.LENGTH_SHORT).show(); } Looper.loop(); } }.start();
/** * webService */ public boolean getInfo() { // 命名空間 String nameSpace = "http://tempuri.org/"; // 調用的方法名稱 String methodName = "getSystemDate"; // EndPoint //String url = "http://localhost/Webservice/service.asmx?WSDL"; String url = "http://10.0.2.2/Webservice/service.asmx?WSDL"; // SOAP Action String soapAction = "http://tempuri.org/getSystemDate"; // 指定WebService的命名空間和調用的方法名 SoapObject rpc = new SoapObject(nameSpace, methodName); // 設置需調用WebService接口需要傳入的兩個參數mobileCode、userId //rpc.addProperty("mobileCode", phoneSec); //rpc.addProperty("userId", ""); // 生成調用WebService方法的SOAP請求信息,並指定SOAP的版本 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut = rpc; // 設置是否調用的是dotNet開發的WebService envelope.dotNet = true; // 等價於envelope.bodyOut = rpc; envelope.setOutputSoapObject(rpc); HttpTransportSE transport = new HttpTransportSE(url); try { // 調用WebService transport.call(soapAction, envelope); } catch (Exception e) { e.printStackTrace(); } // 獲取返回的數據 SoapObject object = (SoapObject) envelope.bodyIn; // 獲取返回的結果 String result = object.getProperty(0).toString(); return false; }