2014-12-23 119 views

回答

1

創建方法如下。

public static boolean isConnectingToInternet(Context context) { 
     ConnectivityManager connectivity = (ConnectivityManager) context 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 
     if (connectivity != null) { 
      NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
      if (info != null) 
       for (int i = 0; i < info.length; i++) 
        if (info[i].getState() == NetworkInfo.State.CONNECTED) { 
         return true; 
        } 

     } 
     return false; 
    } 

並將它稱爲任何你想要的。把它放在如果 - 否則條件,所以你可以檢查連接。

或者如果你想通過你的項目調用這個方法,那麼你可以創建一個如下所示的靜態類。

public class ConnectivityDetector { 

    public static boolean isConnectingToInternet(Context context) { 
     ConnectivityManager connectivity = (ConnectivityManager) context 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 
     if (connectivity != null) { 
      NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
      if (info != null) 
       for (int i = 0; i < info.length; i++) 
        if (info[i].getState() == NetworkInfo.State.CONNECTED) { 
         return true; 
        } 

     } 
     return false; 
    } 
} 

並且在任何你想要的地方都可以像下面所示的代碼一樣在每個類中調用它。

if (ConnectivityDetector.isConnectingToInternet(Test.this)) { 
     // do your stuff 
} else { 
     // Alert dialog that says, No Internet connection 
} 

另外請確保您具有監視網絡狀態所需的權限。您需要將此權限添加到您的AndroidManifest.xml中:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

希望這會對您有所幫助。