1

私はAndroidアプリケーションに取り組んでいます。私のアプリでは、Webサービスから画像とPDFを開く必要があります。次のコードを使用して画像を開くことができます。

                HttpGet httpRequest = new HttpGet(URL);
                httpRequest.addHeader("Accepts", "application");
                httpRequest.addHeader("User-Authentication",
                        "c2hpbmVAaWxlYWZzb2x1dGlvbnMuY29tOnNoaW5laWxlYWY=");

                HttpClient httpclient = new DefaultHttpClient();
                HttpResponse response = (HttpResponse) httpclient
                .execute(httpRequest);

そして今、私はウェブビューでpdfを開かなければなりません。それで私は次のコードを書きます

WebView mWebView=new WebView(MyPdfViewActivity.this);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);


HashMap<String, String> map = new HashMap<String, String>();

map.put("Accepts", "application");
map.put("User-Authentication", "c2hpbmVAaWxlYWZzb2x1dGlvbnMuY29tOnNoaW5laWxlYWY=");
mWebView.loadUrl(URL,map);

しかし、認証ヘッダーが利用できないというエラーが発生します。この問題のため、私のプロジェクトは行き詰まっています。私はここで同じタイプの問題を見つけます。 ここでこの回答を確認してください 。受け入れられた回答は、「自分でページをフェッチし(たとえば、HttpClientを介して)、その方法でWebViewにロードする必要があります」です。これどうやってするの?。問題の友達を修正するのを手伝ってください。

4

1 に答える 1

0

ドキュメントを調べてください。

additionalHttpHeaders

The additional headers to be used in the HTTP request for this URL, specified as a map from name to value. Note that if this map contains any of the headers that are set by default by this WebView, such as those controlling caching, accept types or the User-Agent, their values may be overriden by this WebView's defaults.

おそらく、User-Authenticationヘッダーも上書きされます。

于 2012-10-09T12:42:59.697 に答える