
我需要为WebVIEw中的页面加载添加自定义标头,但它不起作用,标头未设置:
@H_419_5@@OverrIDepublic WebResourceResponse shouldInterceptRequest (WebVIEw vIEw, WebResourceRequest request){ request.getRequestheaders().add("Myheader","MyValue"); return super.shouldInterceptRequest(vIEw, request);}我在这做错了什么?我在AndroID 5上运行.
我已经看到很多答案,说你必须自己做http请求并返回WebResourceResponse.这是因为即使你像我一样修改标题,它们也会被忽略吗?
我还试图在AndroID源代码中找到该位置的调用
调用shouldInterceptRequest的位置在哪里,所以我可以看到它是如何工作的,但我找不到它.
解决方法:
我自己找到了答案,它就在docs:
If the return value is null, the WebVIEw will continue to load the
resource as usual. Otherwise, the return response and data will be
used.
此外,一个简单的测试显示WebVIEwClIEnt.shouldInterceptRequest的基本实现返回null.因此,WebVIEw基本上继续像往常一样加载资源.
换句话说,我不能只为标头添加一个值并期望它被使用.
我实际上需要自己做请求并返回响应.
太糟糕了,没有办法只修改标头并让默认实现使用它.
我知道我可以通过调用带有头文件的loadUrl方法设置头文件,但如果我第一次加载本地页面然后加载在线页面,则不会使用头文件.
总结以上是内存溢出为你收集整理的android – 通过在shouldInterceptRequest中向WebResourceRequest的标头添加标头,将自定义标头添加到WebView不起作用全部内容,希望文章能够帮你解决android – 通过在shouldInterceptRequest中向WebResourceRequest的标头添加标头,将自定义标头添加到WebView不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)