- In meiner Android-Anwendung habe ich WebView verwendet, um Banner anzuzeigen.
- Es Anzahl der URLs innerhalb Banner Layout, aber keine URL zu .../favicon.ico
- WebView automatisch versuchen favicon.ico zu laden basiert auf meiner Basis-URL + /favicon.ico, bekommt Antwort 404 und tun nicht den letzten RULs Lasten
Wenn wichtig:Wie WebView zu deaktivieren favicon.ico laden (d. H. Spezifische URL)?
- Basis-URL beginnt mit https: // ...
- Antwort verwendet SSL-Zertifikat
- Antwort additiohal Header für die Zulassung
Es ist möglich, zu verhindern WebView von Laden Faviconodererlauben es andere Verbindungen nach dem Aufstehen 404 Antwort zu laden hat?
webView.setWebViewClient(new WebViewClient() {
[email protected] onReceivedError...
@SuppressWarnings("deprecation")
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
return getNewResponse(url);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
String url = request.getUrl().toString();
return getNewResponse(url);
}
private WebResourceResponse getNewResponse(String url) {
try {
OkHttpClient client = MyOkHttpClient.getInstance();
Request.Builder requestBuilder = new Request.Builder();
requestBuilder.url(url.trim())
.addHeader("api-key", Constants.API_KEY)
.addHeader("platform", Constants.PLATFORM);
Request request = requestBuilder.build();
Response response = client.newCall(request).execute();
return new WebResourceResponse(
getMimeType(url),
response.header("content-encoding", "utf-8"),
response.body().byteStream()
);
} catch (Exception e) {
return null;
}
}
private String getMimeType(String url) {
...
return type;
}
});
Mögliche Duplikat [Deaktivieren Android WebView/WebViewClient Initiiert favicon.ico Request] (https://stackoverflow.com/questions/34886582/disable-android-webview-webviewclient-initiated-favicon-ico-request) – marmor