android中的网络检查

android中的网络检查,android,Android,我想检查android应用程序中的网络连接 public boolean isNetworkAvailable() { Context context = getApplicationContext(); ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkI

我想检查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;
    }
public boolean isNetworkAvailable(){
Context=getApplicationContext();
ConnectionManager连接=(ConnectionManager)
getSystemService(context.CONNECTIVITY\u服务);
NetworkInfo[]info=connectivity.getAllNetworkInfo();
如果(信息!=null)
{
对于(int i=0;i
当我拔掉电脑中的网线时,程序崩溃了。但当我在Emulator中禁用飞行模式时,它正确地显示“网络不可用”。
如何进行实际检查?

您是否在实际设备上进行了尝试

我从你的帖子中推断,你正在试用模拟器。
我认为emulator与系统的网络接口相连
因此,它可能会失败

我提议的其他更改:
NetworkInfo=connectivity.getActiveNetworkInfo()
如果(info.getState()==NetworkInfo.State.CONNECTED)
返回真值

使用Eclipse中的adb logcat、DDMS或DDMS透视图检查logcat并查看“程序崩溃”时生成的堆栈跟踪。