Ich bin ein Android-Programmierer Ich habe ein Problem, das ich versuche schon seit einiger Zeit zu lösen:Header funktionieren nicht in WebView Android
Ich benutze eine Webansicht und ich pass Header Fußzeile und Header von a zu entfernen Web, aber die Header sind verloren, wenn ein Redirect gemacht wird.
public void isLogged() {
if (my_preferences.readElement(TAG_LOGGED, false)) {
WebSettings webSettings = web_pagos.getSettings();
webSettings.setJavaScriptEnabled(true);
web_pagos.loadUrl(url, getCustomHeaders());
web_pagos.setWebViewClient(getWebViewClient());
cancelProgress();
} else {
WebSettings webSettings = web_pagos.getSettings();
webSettings.setJavaScriptEnabled(true);
web_pagos.setWebViewClient(getWebViewClient());
web_pagos.loadUrl(url,getCustomHeaders());
cancelProgress();
}
}
private Map<String,String> getHeader()
{
Map<String,String> header = new HashMap<>();
header.put("nx-bodycss", "app-design");
return header;
}
private WebViewClient getWebViewClient()
{
return new WebViewClient()
{
@Override
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public boolean shouldOverrideUrlLoading(android.webkit.WebView view, WebResourceRequest request)
{
view.loadUrl(request.getUrl().toString(), getHeader());
return true;
}
@Override
public boolean shouldOverrideUrlLoading(android.webkit.WebView view, String url)
{
view.loadUrl(url, getHeader());
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.e("ConsultaPasaporte",url);
super.onPageStarted(view, url, favicon);
}
};
}
das ist meine Methode getCustomHeaders
private Map<String, String> getCustomHeaders()
{
Map<String, String> headers = new HashMap<>();
if(my_preferences.readElement(TAG_LOGGED,false)) {
headers.put("nx-bodycss", "app-design");
headers.put("nx-user-identification", MyApplication.get_dataUser().getIdentificacion());
headers.put("nx-user-fecha-pago", MyApplication.get_dataUser().getPago());
headers.put("nx-user-token",MyApplication.getTokenFirebase());
return headers;
}else{
headers.put("nx-bodycss", "app-design");
headers.put("nx-user-token",MyApplication.getTokenFirebase());
return headers;
}
}
Ich habe versucht, dieses Problem für einige Zeit zu lösen. Ich würde die Hilfe sehr schätzen
Was ist die richtige Methode zum Übergeben von Headern mit Umleitungen arbeiten?
Vorweg Vielen Dank
Ich habe meine getCustomHeaders-Methode hinzugefügt. Wie kann ich die Anforderung zum Anzeigen einer anderen URL in WebView erstellen? –
Überprüfen Sie dies - https://Stackoverflow.com/a/41257265/2738786, aber ich empfehle Ihnen nicht, es zu implementieren, stattdessen Änderungen in Ihrem Backend. – NateshR