だから私はここでこの答えを見つけました。ただし、Context typeパラメーターを使用して呼び出すときに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;
}
しかし、これを実行すると、致命的なエラーが返され、アプリケーションが強制的にシャットダウンされます。だから私の質問は-致命的なエラー(明らかに未処理の例外)の原因と、そのインターネットの可用性チェックを通過するコードは何ですか?