Android SDKではonReceivedError(WebView view, int errorCode, String description, String failingUrl)
は非推奨となり、onReceivedError(WebView view, WebResourceRequest request, WebResourceError error)
に置き換えられました。しかし、飛行機モードに電話をかけてWebViewにURLをロードすると、非推奨のバージョンのメソッドだけが呼び出されます。WebViewClient onReceivedErrorは非推奨です。新しいバージョンではすべてのエラーが検出されません。
onReceivedHttpError (WebView view, WebResourceRequest request, WebResourceResponse errorResponse)
も、500を超えるエラーを検出するだけであり、109ステータスコードが取得されるため、便利ではありません。
私のWebViewの読み込みに失敗したことを非推奨にする方法はありますか?
Android SDK 23 –
@KaranMerでテストしていることを確認してください。これは既に該当します。 –
テストしているモバイルデバイスは、実際にAndroid Marshmallow(API 23)を実行していますか? API 23 SDKでアプリを開発してAndroid Lollipopでアプリを実行しても、SDKではなくOSの機能であるため、「古い」onReceivedErrorが得られます。また、「エラーコード109」(これはnet :: ERR_ADDRESS_UNREACHABLEだと思います)はHTTPエラーコードではなく、Chromeのエラーコードです。 'onReceivedHttpError'は、HTTP経由でサーバーから受信したエラーに対してのみ呼び出されます。デバイスが飛行機モードにあるとき、おそらくサーバからの応答を受信することはできません。 –