检查网络可用性是否正常

时间:2013-06-25 22:29:46

标签: android android-wifi

我使用以下代码检查Android设备(Source

的网络状态
public boolean isNetworkAvailable() {
    ConnectivityManager cm = (ConnectivityManager) 
      getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = cm.getActiveNetworkInfo();
    if (networkInfo != null && networkInfo.isConnected()) {
        return true;
    }
    return false;
} 

在我的手机上运行后,我发现当网络可用时它确实返回“true”。但是当我打开手机上的飞行模式时,我发现它仍然返回“真实”。这有什么不对?此外,“真实”意味着无线网络还是仅仅是蜂窝网络可用吗?

由于

PS:是的,我在清单中添加了ACCESS_NETWORK_STATE权限。

1 个答案:

答案 0 :(得分:0)

你是对的。真正的价值意味着有wifi或蜂窝网络的互联网连接。您可以启用飞机模式,但如果您的方法仍然有wifi,则返回true。 另见:http://developer.android.com/reference/android/net/NetworkInfo.html#isConnected()