我正在使用此代码检查Android应用程序的网络可用性。
public boolean isOnline(Context ctx) {
ConnectivityManager conMgr = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo i = conMgr.getActiveNetworkInfo();
if (i == null)
return false;
if (!i.isConnected())
return false;
if (!i.isAvailable())
return false;
return true;
}
但是,如果我连接到WiFi网络,但在该网络中无法访问互联网,那么我将如何检查互联网不可用,实际上我的应用程序崩溃,我想显示警告框而不是崩溃应用程序!
有人知道如何查看互联网可用性吗?
这是错误日志:
答案 0 :(得分:0)
如果你只是想确定你已经连接到wifi并且有互联网连接,你可以ping一个已知的地址,例如通常在线的谷歌:)
URL url = new URL("http://www.google.com");
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
int responseCode = conn.getResponseCode();
//if responseCode = 200 - THEn CONN is connected