Ich habe ein Webview in meinem Layout. Standardmäßig ist darin ein Suchformular geöffnet. Bei der Suche erscheint unter dem Suchformular ein Listenbereich. Wenn auf einen Link in der Liste geklickt wird, wird die Detailseite geöffnet. Jetzt möchte ich die Rückwärtsnavigation für die Webansicht steuern. Ich habe diesen Code in Aktivität eingefügt.Android 4.4 gibt ERR_CACHE_MISS Fehler in onReceivedError für WebView zurück
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.d("TYPE", TYPE);
WebView myWebView = null;
if (TYPE.equalsIgnoreCase("REPORT_ACTIVITY"))
myWebView = reportView;
if (TYPE.equalsIgnoreCase("FEEDBACK_ACTIVITY"))
myWebView = feedbackView;
if (myWebView != null)
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {
myWebView.goBack();
return true;
}
// If it wasn't the Back key or there's no web page history, bubble up
// to the default
// system behavior (probably exit the activity)
return super.onKeyDown(keyCode, event);
}
private WebViewClient webViewClient = new WebViewClient() {
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.d("onPageStarted", "onPageStarted");
loadProgressBarBox.setVisibility(View.VISIBLE);
//view.setVisibility(View.GONE);
}
public void onPageFinished(WebView view, String url) {
Log.d("onPageFinished", "onPageFinished");
loadProgressBarBox.setVisibility(View.GONE);
}
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
Log.d("Error", "Error code: " + errorCode + "/" + description);
}
}
Ich habe auch einen WebViewClient mit dem WebView festgelegt. Wenn ich mit der Zurück-Taste zurück gehe, funktioniert es für jede Version 4.4. Aber wenn ich in Android 4.4 versuche, kommt es gut von der Detailseite zur Listenseite zurück. Aber sobald ich versuche, wieder zurück zu gehen, wird der Fehlercode -1 und ERR_CACHE_MISS in der Beschreibung angezeigt. Keine Seite wird angezeigt.
09-04 06:59:05.666: D/Error(1102): Error code: -1/net::ERR_CACHE_MISS
Wie löst man dieses Problem in Android 4.4?
das funktioniert gut für mich – craigrs84
Ich endete mit LOAD_NO_CACHE anstelle von LOAD_CACHE_ELSE_NETWORK. Gleiches Konzept, aber LOAD_CACHE_ELSE_NETWORK sagt, dass es zwischengespeicherte Ressourcen verwendet, auch wenn sie abgelaufen sind und das hat sich nicht gut für mich angehört. – craigrs84