在android中检查网络

时间:2010-10-15 12:49:53

标签: android

我想检查android应用程序中的网络连接。所以我插入了以下代码

public boolean isNetworkAvailable() {
     Context context = getApplicationContext();
     ConnectivityManager connectivity = (ConnectivityManager) 
        context.getSystemService(Context.CONNECTIVITY_SERVICE);

      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;
    }

当我在计算机中移除网线时程序崩溃。但是当我在模拟器中禁用飞行模式时,它正确显示“网络不可用”。 我们如何实际检查?

1 个答案:

答案 0 :(得分:0)

您是否在实际设备上试用过它。

我的推断是,您正在尝试使用模拟器 我认为模拟器链接到系统的网络接口 因此它可能会失败。

其他改变我的建议:
NetworkInfo info = connectivity.getActiveNetworkInfo();
if (info.getState() == NetworkInfo.State.CONNECTED )
return true