私はWebView
コンポーネントを持っています、私はそれに設定しWebViewClient
ました:
WebView webView = (WebView)findViewById(R.id.my_webview);
webView.setWebViewClient(
new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String newUrl) {
//Here, I handle the url redirecting.
//@newUrl is the redirected url
// How to get server response code here??
}
}
);
上記のように、私のコードは の URL のリダイレクトを処理しshouldOverrideUrlLoading(...)
ます。それは正常に動作します。リダイレクトされたサーバーの応答が、エラー メッセージ付きのエラー コードである場合があります。たとえば、サーバー ログは次のようになります。
< 400
< Content-Type: text/plain
Bad header value: 'name'
上記の場合、WebView
ページに「Bad header value: 'name'」と表示されます。
私の質問は、私のJavaコードで、リダイレクト応答のサーバー応答コード(上記の例では400 )を取得するにはどうすればよいですか?
==================== 試したこと =========================
エラー応答をキャッチするために に追加しようとしましonReceivedError()
たnew WebViewClient(){...}
が、コードは実行されません。
@Override
public void onReceivedError (WebView view, int errorCode, String description, String failingUrl){
Log.v("onReceivedError:", errorCode+":"+description);
}