Android WebView -> Anzeige WebArchive
Android WebView hat dies saveWebArchive Methode seit API-level 11: http://developer.android.com/.
Kann es speichern Sie ganze Webseiten als webarchives, das ist toll! Aber wie bekomme ich die heruntergeladenen Inhalte wieder in eine webview? Ich habe versucht,
webview.loadUrl(Uri.fromFile(mywebarchivefile));
Aber das zeigt nur die xml auf den Bildschirm.
- Schauen Sie sich meine Antwort, wie das speichern und laden Archiv für alle APIs hier
InformationsquelleAutor Jouke Waleson | 2012-10-13
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update Feb. 21, 2014
Meine Antwort unten geschrieben gilt nicht für die web-Archiv-Dateien unter Android 4.4 KitKat und neuere. Die saveWebArchive () - Methode der WebView unter Android 4.4 "KitKat" (und wahrscheinlich neuere Versionen auch) nicht speichern Sie das web-Archiv im XML-code, das Lesegerät code unten geschrieben. Stattdessen speichert es die Seiten im MHT (MHTML-format). Es ist leicht zu Lesen, zurück .mht-Dateien - verwenden Sie einfach:
Das ist viel einfacher als die Vorherige Methode, und kompatibel mit anderen Plattformen.
Zuvor gepostet
Brauchte ich es selbst, und überall wo ich suchte, es gab offene Fragen wie diese. Also musste ich es selber. Unten ist mein kleiner WebArchiveReader Klasse und Beispiel-code, wie man es benutzt. Bitte beachten Sie, dass trotz der Android-docs erklärt, dass shouldInterceptRequest() wurde Hinzugefügt, um WebViewClient in API11 (Honeycomb), dieser code funktioniert und wurde erfolgreich getestet in der Android-Emulatoren runter auf API8 (Froyo). Unten ist der code, der benötigt wird, habe ich auch hochgeladen, das komplette Projekt zu GitHub repository unter https://github.com/gregko/WebArchiveReader
Datei WebArchiveReader.java:
Hier ist, wie um diese Klasse zu verwenden, Beispiel MyActivity.java Klasse:
Machen, Dinge abzuschließen, hier meine kleine Lt.java Klasse für die debug-Ausgabe:
Hoffe, das ist hilfreich.
Update Juli 19, 2013
Einige web-Seiten haben nicht die meta-tag-Angabe text-Codierung und der code dann zeigen wir oben nicht angezeigt, die Zeichen richtig. In der GitHub-version von diesem code habe ich jetzt Hinzugefügt charset-Erkennung-Algorithmus, die Vermutungen der Kodierung in solchen Fällen. Wieder, siehe https://github.com/gregko/WebArchiveReader
Greg
saveWebArchive
ist verfügbar ab api 11, ich will sparen Webseite form-api 8 und höher. Bitte helfen Sie mir, wenn Sie keine Lösung in Bezug auf diese. Ich sah dein code funktioniert einwandfreiIch gefunden habe, eine nicht dokumentierte Art und Weise des Lesens webarchive gespeichert. Nur:
dann rufen Sie
Den Verweis:
http://androidxref.com/4.0.4/xref/external/webkit/Source/WebCore/loader/archive/ArchiveFactory.cpp
Verfügbar ab Android 3.0, api level 11.