2013-04-14 97 views
0

現在我正在開發一個應用程序。我使用ConnectivManager在android中檢查了互聯網連接。我檢查了移動3G和WIFI.I關閉WIFI連接,並檢查它的工作原理是我想要的。然後我打開WIFI連接,但斷開WIFI中的所有網絡。現在我查了一下,但是它顯示WIFI已連接,但我想檢查當WIFI打開時網絡是否連接到WIFI,或者WIFI打開時是否連接到WIFI。我不知道如何編碼。任何人都可以請幫助所需的代碼?如何檢查網絡是否連接到android

在此先感謝

+0

你的問題有關,似乎已經被回答 - http://stackoverflow.com/questions/3841317/how-to-see-if-wifi -is-connected-in-android – TwoA

+0

這是我從另一篇文章的回答: http://stackoverflow.com/a/8548926/220710 –

回答

0

有了這段代碼,您應該可以使用ConnectivityManager。從那裏你可以檢查它是否連接或甚至可用。

 ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
     NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

     if (mWifi.isConnected()) { 
      // Do whatever 
     } 
2
public boolean isWifiEnabled(){ 
     ConnectivityManager cm = (ConnectivityManager) c.getSystemService(
          Context.CONNECTIVITY_SERVICE); 
     NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

     if (wifiNetwork != null && wifiNetwork.isConnected()) { 
      return true; 
     } 
    return false; 
} 

不要忘記使用下列權限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" > 
</uses-permission> 
+0

實際上這是爲了檢查WIFI是否連接或不是。但我想要什麼是檢查是否有任何WIFI網絡連接到WIFI – PM16

+0

號我檢查了WIFI連接。我打開WIFI連接。但是我禁用了所有的無線網絡。現在我想檢查WIFI是否連接?如果連接,它必須檢查是否有任何WIFI網絡連接? – PM16

+0

首先檢查wifi是否通過我的方法連接。然後檢查網絡連接。如果網絡不可用,那麼WiFi網絡未啓用..(或可能我誤解了您的查詢) – stinepike

0

要檢查網絡連接

public class CheckNetwork { 


private static final String TAG = CheckNetwork.class.getSimpleName(); 



public static boolean isInternetAvailable(Context context) 
{ 
    NetworkInfo info = (NetworkInfo) ((ConnectivityManager) 
    context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); 

    if (info == null) 
    { 
     Log.d(TAG,"no internet connection"); 
     return false; 
    } 
    else 
    { 
     if(info.isConnected()) 
     { 
      Log.d(TAG," internet connection available..."); 
      return true; 
     } 
     else 
     { 
      Log.d(TAG," internet connection"); 
      return true; 
     } 

    } 
} 
} 

在你的活動

 if(Checknetwork.isInternetAvailable(MainActivity.this) 
     { 
      // do something 
     } 

記得在清單文件中添加權限

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

這也檢查的,如果你有連接到移動網絡或WiFi。

1

檢查,如果互聯網是通過WiFi或移動

public static boolean hasInternet(Activity a) { 
boolean hasConnectedWifi = false; 
boolean hasConnectedMobile = false; 

ConnectivityManager cm = (ConnectivityManager) a.getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo[] netInfo = cm.getAllNetworkInfo(); 
for (NetworkInfo ni : netInfo) { 
    if (ni.getTypeName().equalsIgnoreCase("wifi")) 
    if (ni.isConnected()) 
    hasConnectedWifi = true; 
    if (ni.getTypeName().equalsIgnoreCase("mobile")) 
    if (ni.isConnected()) 
    hasConnectedMobile = true; 
} 
return hasConnectedWifi || hasConnectedMobile; 
}