WebView に Web ページを表示するシンプルなアプリがあります。URL の 1 つがまだオンラインになっていないため、オンラインではないことを示すトーストを作成したいと考えています。オンラインの場合は、URL をロードするだけです。
誰かがそれを行う方法を知っていますか?
前もって感謝します。
URLConnection を開き、最初に接続の応答コードを確認します。これが 404 の場合、サイトが存在しないことを意味します。その後、必要なすべてのサイト欠落処理をそこで行うことができます。コード例:
try {
Url url = new URL(someStringUrl);
HttpURLConnection huc = ( HttpURLConnection ) url.openConnection ();
if(huc.getResponseCode() == 404) {
//Site doesnt exist, returned 404 error
}
} catch(Exception e) {
e.printStackTrace();
}
独自の例外を拡張できます。
public class Exception404 extends Exception {
}
次に、2 つの異なる例外をキャッチします。
HttpURLConnection huc = null;
try {
Url url = new URL(someStringUrl);
huc = ( HttpURLConnection ) url.openConnection ();
if(huc.getResponseCode() == 404)
throw new Exception404();
//...
//...
//...
} catch(Exception404 e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
} finally {
//close connection (saves battery life time)
huc.disconnect();
}
または、同じ例外をスローして両方の失敗を同じ方法で処理することもできます