android - 如何检查Wifi已连接,但在Android中无法上网

标签 android android-networking

我想知道为什么wifi连上了,但是安卓却上不了网。我怎样才能检查它? 我的代码是:

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

最佳答案

你可以尝试这样的事情:

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

不要忘记访问

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

希望它会起作用:)

关于android - 如何检查Wifi已连接,但在Android中无法上网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16580380/

相关文章:

Android SQLite CursorWindowAllocationException 崩溃

android - OpenCv 和 Android studio 1.3+ 使用新的 gradle - undefined reference

android - 展开微调项目

android - WebViewCompat 的示例用法

android - 在Android上同时连接到MOBILE时如何检查Wi-Fi连接(SSID)

android - 如何在 Volley 中发送带有数据的 post 请求?

android - 在 Android Studio 中使用库 - 空 classes.jar

android - 应用关闭时如何接收 Android Nougat 网络丢失的回调?

java - Android:如何从网络服务器检索单个数据并将其显示到 TextView ?

android如何在互联网连接丢失时得到指示?