2012-03-30 9 views
13

私のアプリケーションでは、shouldOverrideUrlLoading()はHoneycombe 3.2バージョンで呼び出されません。私は2.2と4.0.1でそれをテストし、彼らはすべて正常に動作しています。Android webview shouldOverrideUrlLoadingが呼び出されない

ハニカムのバグですか?どのように私はそれを回避することができますか?

私は事前に

view.loadUrl(url,headers); 

おかげで)shouldOverrideUrlLoading(内のすべての要求のためのカスタムヘッダーを送信する必要があります。

+0

'shouldOverrideUrlLoading()'は、要求がPOSTのときには起動されません(おそらくこれが理由です)。 –

+0

@SYLARRR他のバージョンでGETとPOSTの両方を試してみました。 – Riddle

+0

この関数は、しばしば呼び出されることはありません。私は多くのウェブサイトに同じ問題があることを発見しました。www.youtube.com 私は十分な深さを見つけたわけではありませんが、基本的にこの機能は信頼できません。 – Lee

答えて

10

このメソッドは、ユーザーがナビゲーションを実行するときにのみ呼び出されます。ウェブサイトがユーザーをリダイレクトする場合、常に呼び出されるとは限りません。一般的なシナリオは、AJAXを使用してページの内容を変更したり、ユーザーをリダイレクトしたりするWebサイトです。

WebViewClientの他のコールバックを調べて、ニーズに合ったコールバックを探してください:onLoadResource、onPageStarted。あなたの場合は、APIレベル11+をターゲットにしているため、shouldInterceptRequestも利用できます。

+0

これらの3つのメソッドはどれも呼び出されませんが、ログから実際にトリガーされたことはほとんどありません。このルーチンは信頼できないのでしょうか? –

関連する問題