2012-07-31 57 views
0

我創建了一個android應用程序,用戶Http Post和Get調用來從Web服務器讀取和寫入數據。也沒有太華麗。我的手機/ SIM卡有4G。每次應用程序嘗試連接時,事情都會變得緩慢,大多數時候應用程序崩潰。所以我只將設置更改爲GSM。你猜怎麼了?該應用程序效果更好。可能的原因是什麼?Android應用程序在4G互聯網連接上崩潰,但在GSM模式下工作正常只有

+0

你能至少張貼崩潰這裏的日誌/堆棧跟蹤?我們如何知道你的應用程序沒有任何知識? – YuDroid 2012-07-31 06:03:00

+0

問題發生在客戶端的手機:(這就是爲什麼我不得不發佈一個非常模糊的問題,我正在使用wifi連接,它的工作原理是完美的 – SoH 2012-07-31 06:05:46

+0

你給你的應用程序的連接優先級?可用性,即選擇第一個WIFI,然後是SIM卡連接,無論它們是3G/4G等等。 – YuDroid 2012-07-31 06:37:42

回答

0

使用下面的方法,以檢測所有可用類型的網絡中的客戶端的處理:

public static boolean checkNetworkRechability(Context context) { 
     Boolean bNetwork = false; 
     ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 

     for (NetworkInfo networkInfo : connectivityManager.getAllNetworkInfo()) { 
      int netType = networkInfo.getType(); 
      int netSubType = networkInfo.getSubtype(); 

      if (netType == ConnectivityManager.TYPE_WIFI) { 
       bNetwork = networkInfo.isConnected(); 
       if (bNetwork == true) 
        break; 
      } else if (netType == ConnectivityManager.TYPE_MOBILE && netSubType != TelephonyManager.NETWORK_TYPE_UNKNOWN) { 
       bNetwork = networkInfo.isConnected(); 
       if (bNetwork == true) 
        break; 
      } else { 
       bNetwork = false; 
      } 
     } 
     if (!bNetwork) { 
      Log.i(TAG, "You are not in network"); 
     } 
     Log.i(TAG, "bNetwork : " + bNetwork); 
     return bNetwork; 
    }