2016-03-28 8 views
1

インターネットに接続されていない場合、Webページがロードされていない場合にエラーメッセージを表示します。Android:WebViewClient onPageFinished/onReceivedErrorは、インターネットがonPageStartedコールの後に呼び出されない場合は呼び出されません。

しかし、問題は次のとおりです。onPageStartedメソッド(ここでは進行状況ダイアログを表示)が呼び出された後、自分でインターネットを切断すると、onPageFinished/onReceivedErrorメソッドが呼び出されません。その結果、ユーザーにエラーメッセージを表示することができず、ダイアログを閉じることができなくなりました。進捗ダイアログは表示を継続します。

WebViewにはタイムアウトがあり、それ自体で処理されると考えていました。しかし、そうではありません。タイムアウトは起こりませんでした。私は15分以上待っていたが、トメは出なかった。

どうすれば対応できますか?

+0

まあ[onReceivedError](http://developer.android.com/reference/android/webkit意味されていません/WebViewClient.html)は、接続エラーを処理する方法です。 [MVCE](http://stackoverflow.com/help/mcve)を投稿できますか? –

答えて

0

2つのonReceivedError()があります。このonReceivedError()が、この方法は、すべてのAndroid版です

public void onReceivedError(WebView view, int errorCode, String description, String failingUrl){...} 

を実行することはできませんあなたのデバイスのアンドロイドAPIバージョン< 23場合

public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {...} 

これはAndroid M+(API >=23);のためだけです。

ps:errorCode

HTTPのステータスコード あなたはAPIドキュメントを参照することができ、(404、403など)

関連する問題