如何检查无线连接,但在Android中无法上网但在、无线连接、Android

2023-09-05 08:49:50 作者:梦境

我想知道为什么连接的WiFi,但没有在Android的无法上网。我该如何检查呢? 我的code是:

  ConnectivityManager CN =(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
 的NetworkInfo NF = cn.getActiveNetworkInfo();

如果(NF = NULL和放大器;!&安培; nf.isConnected())
        {
          标志2 = FALSE;
          Log.e(网络--------,1 --------------);

          如果(cn.getActiveNetworkInfo()。isConnectedOrConnecting())
          {Log.e(网络--------,11111111111111 --------------);
            }
          其他
          {Log.e(网络--------,2222222222222 --------------);
            }
        }

其他
        {
          Log.e(网络--------,2 --------------);
}
 

解决方案

您可以尝试这样的:

 公共无效checkOnlineState(){
    ConnectivityManager CManager =
        (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    的NetworkInfo n信息= CManager.getActiveNetworkInfo();
    如果(n信息=空&安培;!&安培; NInfo.isConnectedOrConnecting()){
        如果(InetAddress.getByName(www.xy.com)。isReachable(超时))
        {
         // HOST可到达
        }
         其他
         {
         //主机不可达
         }
    }
    返回;
}
 
连接了无线网络,可是不能上网

不要忘了访问

 <使用-权限的Andr​​oid:名称=android.permission.ACCESS_NETWORK_STATE/>
 

希望它的工作:)

I would like to know why wifi is connected but there is no internet access in Android. How can i check it? My code is:

ConnectivityManager cn=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
 NetworkInfo nf=cn.getActiveNetworkInfo();

if(nf != null && nf.isConnected() )
        {
          Flag2=false;
          Log.e("network--------", "1--------------");

          if (cn.getActiveNetworkInfo().isConnectedOrConnecting())
          {Log.e("network--------", "11111111111111--------------");
            }
          else
          {Log.e("network--------", "2222222222222--------------");
            }
        }

else 
        {
          Log.e("network--------", "2--------------");
}

解决方案

You could try something like this:

public void checkOnlineState() {
    ConnectivityManager CManager =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo NInfo = CManager.getActiveNetworkInfo();
    if (NInfo != null && NInfo.isConnectedOrConnecting()) {
        if (InetAddress.getByName("www.xy.com").isReachable(timeout))
        {  
         // host reachable  
        }
         else
         {    
         // host not reachable  
         }  
    }
    return;
}

dont forget the access

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

Hope it will work :)