我正在尝试检查我的Android应用程序中的网络状态。
我有这样的代码:
public boolean isNetworkAvailable()
{
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if(networkInfo != null && networkInfo.isConnected())
return true;
return false;
}
当网络按预期方式可用时,此代码返回true
,但即使网络不可用,它也会退回true
。
简单地将其返回true
用于两种情况!
我在代码中犯了错误?
请注意,我在模拟器中运行应用程序。
提前致谢。
答案 0 :(得分:0)
尝试以下方法,它对我来说很棒。我希望它也能帮助你。
public static boolean IsNetConnected() { boolean NetConnected = false; try { ConnectivityManager connectivity = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null) { NetConnected = false; } else { NetworkInfo[] info = connectivity.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { NetConnected = true; } } } } } catch (Exception e) { NetConnected = false; } return NetConnected; }