1

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

提前致谢

4

4 回答 4

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>
于 2013-04-14T05:14:42.030 回答
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;
}
于 2013-04-14T06:14:00.617 回答
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。

于 2013-04-14T05:59:09.050 回答
0

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

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

        if (mWifi.isConnected()) {
            // Do whatever
        }
于 2013-04-14T05:10:24.333 回答