Antes que nada, déjenme decir que no puedo creer que la vista web sea tan mala.
Esto es lo que hice para pasar cabeceras personalizadas
public class CustomWebview extends WebView {
public void loadWithHeaders(String url) {
setWebViewClient(new WebViewClient() {
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
//makes a custom http request, which allows you to add your own headers
return customRequest(url);
}
});
loadUrl(url);
}
/**
* Custom http request with headers
* @param url
* @return
*/
private WebResourceResponse customRequest(String url) {
try {
OkHttpClient httpClient = new OkHttpClient();
Request request = new Request.Builder()
.url(url.trim())
.addHeader("Header-Name", "Android Sucks")
.build();
Response response = httpClient.newCall(request).execute();
return new WebResourceResponse(
"text/html", // You can set something other as default content-type
"utf-8", // Again, you can set another encoding as default
response.body().byteStream()
);
} catch (IOException e) {
//return null to tell WebView we failed to fetch it WebView should try again.
return null;
}
}
}
1 @stotherd llegaste ninguna solución a este problema que estoy atascado con esto también y no era capaz de encontrar una solución? –
Desafortunadamente no, tuve que solicitar los recursos individualmente por separado, y luego no completé el proyecto. – stotherd