4

webView が URL にアクセスしたときに http パッケージをキャプチャすると、問題が発生しました。パッケージは、ajax によって送信されたリクエストのヘッダーに「X-requested-with」キーがあり、「com.xxx」のようなアプリ パッケージ名の値を持っていることを示しています。訪問した URL にリクエストが自分のアプリからのものであることを知らせたくないので、「X-requested-with」キーを別の値に置き換える必要があります。 android、それらのすべてが機能しません。

loadUrl(Strring url, Map<String, String> extraHeaders)ajax によって送信されるリソース リクエストではなく、ページ リクエストでのみ呼び出されます。shouldOverrideUrlLoading(WebView view, String url)すべてのリクエストで呼び出されWebViewClient.shouldInterceptRequest(android.webkit.WebView view, java.lang.String url)ますが、ヘッダーを変更することはできません。それで、質問に対する解決策はありますか?どうもありがとう。

4

1 に答える 1

7

さて、最後に私は質問を解決します。読み込みページで ajax によって送信されたリクエストのヘッダーを変更する方法がまだわかりませんがpublic String getPackageName()Application. 呼び出しスタックを調べます。呼び出しが android.webkit からのものである場合は、パッケージ名の代わりに別の文字列を返します。だから私の問題は解決しました。しかし、基本的な質問はまだ残っています。

于 2013-11-02T10:38:10.887 に答える