WebView DownloadListener ruft onDownloadStart nicht auf

  • Antworten:7
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 9

02.12.2016 15:26:29 via Website

Hi,

ich versuche eine .csv Datei von einer Webseite runterzuladen. Leider reagier mein WebView nach betätigung des Download-Buttons nicht. Die Methode onDownloadStart wird nichtmal aufgerufen.

        WebView webView = (WebView) findViewById(R.id.wv_redis);
webView.getSettings().setJavaScriptEnabled(true);

webView.loadUrl("h ttps://www.netztransparenz.de/EnWG/Redispatch");

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        view.setDownloadListener(new Downloader());
        return true;
    }
});

private class Downloader implements DownloadListener {
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {

    Log.d(LOG_TAG, "On Download start called..");

    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i);
    Toast.makeText(getApplicationContext(), "Download started..",
            Toast.LENGTH_SHORT).show();
}

}

Mit dem Android Browser funktioniert der Download einwandfrei.

Hoffe ihr könnt mir weiterhelfen:)

Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 9.308

02.12.2016 19:32:52 via App

Klickst du zum downloaden noch auf einen Link oder ist die URL komplett?

— geändert am 02.12.2016 19:33:04

LG Pascal //It's not a bug, it's a feature. :) ;)

  • Forum-Beiträge: 9

02.12.2016 21:53:48 via Website

Gebe für den Download nur Start - Enddatum ein und betätige den Download Button (link: https:/ /www.netztransparenz.de/EnWG/Redispatch). Der Download von Dateien von anderen Seiten funktioniert. Liegt es am http*s*?

Hab es gerade auch nochmal mit der Library AdvancedWebView probiert. Funktioniert leider auch nicht..

Nur mit dem Standart Android Browser funktioniert es.

— geändert am 02.12.2016 21:59:51

  • Forum-Beiträge: 9

05.12.2016 13:35:02 via Website

Pascal P.

Klickst du zum downloaden noch auf einen Link oder ist die URL komplett?

Hast du vielleicht eine Idee Pascal P? Bin schon seit ner Woche dran und komme einfach nicht weiter. Bekomme die Daten auch nicht per Anfragebefehl vom Server:/

— geändert am 05.12.2016 13:35:43

Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 9.308

05.12.2016 19:20:17 via Website

Du kannst aus ener WebView keine Daten laden?
Das glaub ich kaum...

Aber warum WebView?
Schicke doch über eine HTTP Lib wie okHttp oder Ion,Volles etc.. einen HTTP POST Request an die Seite und Werte den CSV String als Antwort aus.
Willst du diese in der App noch verarbeiten oder nur auf dem Gerät speichern?
Wenn du es eh verarbeiten willst, dann ist die dierekte Methode sogar besser.

Lade dir mal wenn du FireFox benutzt ein Firbug runter und schau was die Seite für Postparameter schickt, diese musst du ja auch nur an die Seite schicken und bekommst deine Datei

LG Pascal //It's not a bug, it's a feature. :) ;)

  • Forum-Beiträge: 9

06.12.2016 14:05:26 via Website

Genau. Von der Seite kann ich über den WebView keine Daten laden, der DownloadListener wird nicht aufgerufen. Andere Seiten funktionieren problemlos.

Ich will die Daten weiterverarbeiten, das ist richtig. Mit einen HTTP POST Request habe ich es auch versucht, leider bekomme ich damit nur die Webseite als .html wieder und nicht die CSV. Die Anfrageparameter sind auch sehr unübersichtlich, und der Objektzugriff läuft vermutlich via Token?
Bei anderen Webseiten bekomme ich das auch hin aber hier klappt es nicht :'(

Liegt es am https oder an der asynchronen Datenübertragung der Webseite? Vielleicht findest du oder jemand anderes aus dem Forum die Zeit sich das mal anzuschauen, ich habe echt keine Ahnung mehr was ich noch versuchen könnte.

Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 9.308

06.12.2016 15:16:10 via Website

Wenn ich Zeit hab schaue ich mir das mal an, ich kann dir aber nichts versprechen.

LG Pascal //It's not a bug, it's a feature. :) ;)

  • Forum-Beiträge: 9

15.12.2016 17:00:33 via Website

Vielleicht kann es sonst mal jemand anders bei sich im WebView probieren. Komme hier einfach nicht weiter und ich weiß nicht was ich falsch mache (whew)