Was macht stopLoading () wirklich?

Ja, ich kenne die Dokumentation für stopLoading () sagt: " Stoppt die aktuelle Ladung. "

Aber wenn ich versuche, es zu benutzen, um das Laden der aktuell fortschreitenden Seite zu beenden, bevor du ein neues ladest, scheint es sich nicht so zu verhalten wie gewünscht :

07-24 12:53:30.177: V/WebView.loadUrl: http://www.google.com 07-24 12:53:30.227: V/WebViewClient.onPageStarted: http://www.google.com ===> WebView.stopLoading() called here <==== 07-24 12:53:31.917: V/WebView.loadUrl: http://www.stackoverflow.com 07-24 12:53:32.697: V/WebViewClient.onPageFinished: http://www.google.com 07-24 12:53:32.767: V/WebViewClient.onPageStarted: http://www.stackoverflow.com 07-24 12:53:33.587: V/WebViewClient.onPageFinished: http://www.stackoverflow.com 

Wie Sie im Protokoll sehen können, wird WebViewClient.onPageFinished() für die erste loadUrl() trotz der Tatsache aufgerufen, dass WebView.stopLoading() etwa 1 Sekunde früher aufgerufen wurde.

Warum das?

Was macht stopLoading () wirklich?

  • WebView loadUrl funktioniert nur einmal
  • PDF in einem WebView öffnen
  • Android WebView für Facebook Like Button
  • OnPageStart rief viele Male an und onPageFinished nicht für einzelne Seite aufgerufen
  • Aktivieren von JavaScript in WebViewClient
  • ShouldOverrideUrlLoading in WebView für Android läuft nicht
  • shouldOverrideUrlLoading funktioniert nicht und fängt Link-Klicks, während die Seite geladen wird
  • WebView Crash von java.io.IOException: close failed: EIO (I / O-Fehler) libcore.io.IoUtils.close (IoUtils.java:41)
  • One Solution collect form web for “Was macht stopLoading () wirklich?”

    You786 ist richtig:

     public void stopLoading() { checkThread(); // TODO: should we clear all the messages in the queue before sending // STOP_LOADING? switchOutDrawHistory(); mWebViewCore.sendMessage(EventHub.STOP_LOADING); } 

    Denn das TODO, das sie in den verbleibenden Nachrichten markiert haben, würde zuerst verarbeitet. Also, das führt zu dem, was ich bin nur neugierig auf: beim Stoppen Last in

     WebViewClient.onReceivedError(WebView view, int errorCode, String description, String failingUrl) 

    Das WebView hört nicht wirklich auf, stattdessen lädt es seine eigene 404 Page (was es normalerweise tun würde, wenn man nicht stopLoading () anruft):

     11-07 16:30:01.112: I/MainActivity(19189): Loading: http://92.53.45.42 11-07 16:30:01.253: V/MainActivity.WebViewClient(19189): SHOULD_INTERCEPT_REQUEST: http://92.53.45.42/ 11-07 16:30:01.347: V/MainActivity.WebViewClient(19189): PAGE_STARTED: http://92.53.45.42/ 11-07 16:30:01.347: V/MainActivity.WebChromeClient(19189): ON_PROGRESS_CHANGED: 10 11-07 16:30:01.347: V/MainActivity.WebViewClient(19189): LOAD_RESOURCE: http://92.53.45.42/ 11-07 16:30:25.292: I/GATE(19189): <GATE-M>DEV_ACTION_ERROR</GATE-M> 11-07 16:30:25.300: E/MainActivity.WebViewClient(19189): (CONNECT - Failed to connect to the server) -> http://92.53.45.42/ 11-07 16:30:25.300: W/MainActivity.WebViewClient(19189): loading stopped..: 11-07 16:30:25.300: V/MainActivity.WebViewClient(19189): PAGE_STARTED: http://92.53.45.42/ 11-07 16:30:25.300: I/MainActivity.WebViewClient(19189): PAGE_FINISHED: http://92.53.45.42/ 11-07 16:30:25.339: I/MainActivity.WebChromeClient(19189): ON_RECEIVED_TITLE: Webseite nicht verfügbar 11-07 16:30:25.339: V/MainActivity.WebChromeClient(19189): GET_VISITED_HISTORY 11-07 16:30:25.339: I/GATE(19189): <GATE-M>DEV_ACTION_COMPLETED</GATE-M> 11-07 16:30:25.339: V/MainActivity.WebChromeClient(19189): ON_PROGRESS_CHANGED: 100 11-07 16:30:25.339: I/MainActivity.WebViewClient(19189): PAGE_FINISHED: http://92.53.45.42/ 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.