如何检查网络是否连接到android中的wifi

时间:2013-04-14 04:57:36

标签: android

现在我正在开发一个应用程序。我使用ConnectivManager检查了android中的互联网连接。我检查了Mobile 3g和WIFI.I关闭了WIFI连接并检查它是否符合我的要求。然后我打开WIFI连接,但断开了WIFI中的所有网络。现在我检查但它显示WIFI已连接,但我想检查WIFI打开时网络是否连接到WIFI或WIFI打开时未连接到WIFI。我不知道如何编码。任何人都可以帮助您提供所需的代码吗?

提前致谢

4 个答案:

答案 0 :(得分:3)

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>

答案 1 :(得分: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;
}

答案 2 :(得分:0)

使用这段代码,您应该能够使用ConnectivityManager。从那里你可以检查它是否已连接或甚至可用。

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

        if (mWifi.isConnected()) {
            // Do whatever
        }

答案 3 :(得分: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,这也会检查。