Abfangen und Überschreiben von HTTP-Anfragen von WebView

Ich habe eine WebView in meiner Anwendung, in denen eine Seite geöffnet wird (immer das gleiche, es ist meine eigene Seite). Die Website hat einige JS-code, lädt ein paar Bilder vom remote-host.

Möchte ich abfangen von Anfragen an solche Bilder (URL-pattern) und geben wieder meine eigenen Inhalte (also ein anderes Bild), oder Abwesenheitsmitteilung unberührt abhängig von interner Anwendungslogik.

Ist es möglich, das zu tun?

BEARBEITEN: Der gegenwärtige Stand der Frage...

WebView hat eine Fähigkeit, einen WebViewClient (wie bereits von Axarydax). WebViewClient zwei nützliche Methoden

  • shouldOverrideUrlLoading
  • onLoadResource

shouldOverrideUrlLoading abfangen einer beliebigen url laden, wenn das laden ausgelöst wird, durch Seite-Interaktion (z.B. link auf einer Seite angeklickt wird, wird der WebView.loadURL("") ist nicht das auslösen dieser Methode). Es ist auch in der Lage zu stornieren URL laden durch Rückgabe von false. Dieser Ansatz ist nicht nutzbar, führen: "es ist nicht in der Lage, abzufangen laden der Seite Ressourcen (Bilder, was ich brauche, um abzufangen, ist so eine Seite Ressource).

onLoadResource ist die Auslösung jedes mal, die Seite Ressource (und Bilder! thx an jessyjones) laden, aber es gibt keine Möglichkeit zu stornieren. Das macht diese Methode nicht geeignet für meine Aufgabe auch.

InformationsquelleAutor der Frage Olegas | 2011-01-24

Schreibe einen Kommentar