所以我在这里找到了这个答案。但是我无法让它运行,因为在使用 Context 类型参数调用它时未定义 isNetworkAvailable 函数。这是我使用的代码:
private boolean isNetworkAvailable(Context context)
{
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if(ni!= null && ni.isConnected())
{
return true;
}
return false;
}
public boolean dostupanInternet(Context context)
{
if(isNetworkAvailable(context))
{
try
{
HttpURLConnection url = (HttpURLConnection) (new URL("http://www.google.com").openConnection());
url.setRequestProperty("User-Agent", "test");
url.setRequestProperty("Connection", "close");
url.setConnectTimeout(1000);
url.connect();
return(url.getResponseCode() == 200);
}
catch(IOException e)
{
Log.e("LOG_TAG","Povezivanje sa internetom nije uspelo",e);
}
}
else
{
Log.d("LOG_TAG", "Povezivanje sa internetom nije uspelo");
}
return false;
}
但是当我运行它时,它会返回一个致命错误并强制应用程序关闭。所以我的问题是 - 是什么导致了致命错误(显然是未处理的异常)以及什么代码可以让我通过互联网可用性检查?