将授权标头传递给Android Webview LoadData()

将授权标头传递给Android Webview LoadData(),android,cookies,webview,xamarin.android,access-token,Android,Cookies,Webview,Xamarin.android,Access Token,我有一个HTML内容,其中包括一个”; 加载数据(mData、“text/html”、“utf-8”); 我有一个访问令牌,我需要将其设置为授权标头的承载者,或者将其作为cookie传递到此Webview,以便加载html内容中包含的所有安全图像 我见过一些解决方案,其中我们可以将标题作为参数传递,但是使用LoadUrl()。有没有一种方法可以在加载HTML文本时执行相同的操作 谢谢你的帮助 答案没有显示如何传递授权令牌 即使使用LoadData方法,也可以创建自己的并重写,以便拦截每个请求

我有一个HTML内容,其中包括一个







”; 加载数据(mData、“text/html”、“utf-8”);
我有一个访问令牌,我需要将其设置为授权标头的承载者,或者将其作为cookie传递到此Webview,以便加载html内容中包含的所有安全图像

我见过一些解决方案,其中我们可以将标题作为参数传递,但是使用
LoadUrl()
。有没有一种方法可以在加载HTML文本时执行相同的操作

谢谢你的帮助

答案没有显示如何传递授权令牌

即使使用
LoadData
方法,也可以创建自己的并重写,以便拦截每个请求

因为我不知道您传递授权令牌的格式,所以这里我只能展示创建这样一个
WebViewClient
的方法

创建从
WebViewClient
继承的
MyWebViewClient

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");
然后在您的
活动中

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

        //TODO: Pass your authorization token here. 
    }
}
wvDetail=findviewbyd(Resource.Id.wvDetail);
wvDetail.Settings.JavaScriptEnabled=true;
SetWebViewClient(新的MyWebViewClient());
var mData=“YOUR-DATA”;
加载数据(mData、“text/html”、“utf-8”);

refere@sasikumar答案没有显示如何传递授权令牌。
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");