2012-09-29 77 views
2

我用這個代碼,檢查互聯網連接如何檢查連接到互聯網(辦理連接受限的情況下)

private boolean haveNetworkConnection() { 
    boolean haveConnectedWifi = false; 
    boolean haveConnectedMobile = false; 

    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo[] netInfo = cm.getAllNetworkInfo(); 
    for (NetworkInfo ni : netInfo) { 
     if (ni.getTypeName().equalsIgnoreCase("WIFI")) 
      if (ni.isConnected()) 
       haveConnectedWifi = true; 
     if (ni.getTypeName().equalsIgnoreCase("MOBILE")) 
      if (ni.isConnected()) 
       haveConnectedMobile = true; 
    } 
    return haveConnectedWifi || haveConnectedMobile; 
} 

,但它不「噸處理的情況時,我有一個有限的連接到互聯網,如何解決它?

+0

檢查[此鏈接](http://stackoverflow.com/questions/6493517/android-detect-if-device-has-internet-connection)。它顯示如何檢查活動的網絡連接。 – PrasadW

回答

0

嘗試在後臺編程方式打開一個網頁鏈接,如果你得到一個成功的狀態,互聯網連接可用否則,如果它失敗沒有可用的網絡連接。嘗試HttpURLConnection檢查通過開放互聯網的可用性任何鏈接,您可以在給定的鏈接中獲得HttpURLConnection的詳細信息:HttpURLConnection

+0

好的,但我有一個列表視圖與不同的視頻流發射, 所以如果用戶點擊一個項目,我將永遠不得不加載一個額外的頁面,然後加載視頻:這將需要更多的時間... 但如果這是唯一的辦法,我沒有選擇:p(也許使ping測試會更快?) – user1708001

+0

這將是更快我猜,所以我只談論使用HttpURLConnection ping測試。 –