我使用以下代码检查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权限。
答案 0 :(得分:0)
你是对的。真正的价值意味着有wifi或蜂窝网络的互联网连接。您可以启用飞机模式,但如果您的方法仍然有wifi,则返回true。 另见:http://developer.android.com/reference/android/net/NetworkInfo.html#isConnected()