我使用以下代码来检查安卓设备(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“。但当我打开手机的飞行模式时,我发现它仍然返回"true“。这里出了什么问题?另外,“真”是指wifi也在,还是只有蜂窝网络可用?
谢谢
PS:是的,我已经在清单中添加了ACCESS_NETWORK_STATE权限。
发布于 2014-02-11 02:11:26
你是正确的。True值表示存在来自wifi或蜂窝网络的互联网连接。你可以打开飞行模式,但是如果你仍然有wifi,你的方法将返回true。另请参阅:http://developer.android.com/reference/android/net/NetworkInfo.html#isConnected()
https://stackoverflow.com/questions/17308660
复制相似问题