2017-03-17 2 views
0

私は<img>を含むHTMLコンテンツを持っています。この<img>には、ユーザーが認証された場合にのみコンテンツを表示する画像URLがあります。次のようにAndroid Webviewへの承認ヘッダーLoadData()

Iは、WebViewのを作成している: -

wvDetail = FindViewById<WebView>(Resource.Id.wvDEtail); 
     var data = AppHelper.SelectedNews; 
     wvDetail.Settings.JavaScriptEnabled = true; 
     var mData = "<p>​<span style=\"color &#58;#000000;font-family&#58;&quot;open sans&quot;, arial, sans-serif;text-align&#58;justify;background-color&#58;#ffffff;\">Proin sem urna, aliquet vel placerat quis, semper et mauris. Sed vel nunc lacus. Vestibulum vitae nisl eros. Donec ullamcorper sem nisl, in pellentesque quam tempus vel. Curabitur in felis nec urna placerat finibus. Donec ut nisi eu enim tincidunt luctus. Phasellus eleifend tortor est, nec maximus est aliquet sit amet. Praesent mollis massa id lacinia volutpat. Vestibulum eget odio sit amet enim fringilla pulvinar.​</span></p><p><br></p><p><img src=\"http://example.com/somesecuredimage.png" alt=\"somesecuredimage.png\" style=\"margin&#58;5px;width&#58;640px;\" /><br></p><p><br></p><p><br></p><p><br></p><p><br></p>"; 
     wvDetail.LoadData(mData, "text/html", "utf-8"); 

私はすべての固定をロードするためにAuthorizationヘッダにベアラに設定するか、このWebViewのにクッキーとして渡す必要があるアクセストークンを持っていますHTMLコンテンツに含まれる画像

私はパラメータとしてヘッダーを渡すことができる解決策を見てきましたが、LoadUrl()があります。代わりにHTMLテキストを読み込む際に同じことをする方法はありますか?

すべてのヘルプは答えが認証トークンを渡す方法を示していない

+0

はhttp://stackoverflow.com/questions/3961589/android-webview-and-loaddataを参照してください。 – sasikumar

+0

@sasikumar答えは認証トークンを渡す方法を示していません。 – user3034944

答えて

0

を高く評価しています。

あなたはAndroid.Webkit.WebViewClientを所有して作成しても、あなたはLoadDataメソッドを使用している、すべての要求を傍受するためにShouldInterceptRequest Methodを上書きすることができます。

私は認証トークンを渡すあなたの形式を知らないので、ここで私は、このようなWebViewClientを作成する方法を表示することができます。

あなたActivityWebViewClient

public class MyWebViewClient : WebViewClient 
{ 
    public override WebResourceResponse ShouldInterceptRequest(WebView view, IWebResourceRequest request) 
    { 
     return base.ShouldInterceptRequest(view, request); 

     //TODO: Pass your authorization token here. 
    } 
} 

そして継承MyWebViewClientを作成します。

wvDetail = FindViewById<WebView>(Resource.Id.wvDEtail); 
wvDetail.Settings.JavaScriptEnabled = true; 
wvDetail.SetWebViewClient(new MyWebViewClient()); 
var mData = "YOUR-DATA"; 
wvDetail.LoadData(mData, "text/html", "utf-8"); 
関連する問題