ボレーと非同期タスクを使用して、VPS からデータをダウンロードし、フラグメントとアクティビティで表示します。パブリック ネットワークに接続していて、ネットワーク信号が (非常に) 弱い場合に、このエラーが頻繁に発生します。アプリの簡単なネットワーク チェック機能を使用して、ネットワークに接続していないときにトーストを表示します。このような場合、アクティビティは開始されず、トーストが表示されます。ただし、オンラインでネットワーク信号が非常に弱い場合、アクティビティが開始され、Volley が実行されてエラーがスローされます
java.net.ConnectException: failed to connect to www.website.com/XX.XX.XX.XXX (port 80) after 2500ms: isConnected failed: EHOSTUNREACH (where Xs are the server address).
アプリのこの状態で navdrawer 項目をクリックすると、アクティビティが開き、同じエラーがスローされます。これは私が接続を確認する方法です:
public static boolean isInternetAvailable(Context context)
{
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info == null) {
Log.d(TAG,"no internet connection");
return false;
}
else
{
if(info.isConnected()) {
Log.d(TAG," internet connection available...");
return true;
}
else {
Log.d(TAG," noninternet connection");
return false;
}
}
}
このエラーを解決する方法、またはネットワーク チェック機能をアップグレードして弱いネットワーク信号をチェックする方法について何かアイデアはありますか?