Wie zu Lesen, die Daten in einem Blob in der WebView auf Android?

Ich haben einen server erstellt ein Objekt blob auf die browser und ich wollen laden Sie diese in WebView in Android-app. Ich habe versucht, die Umleitung der Anfrage an den browser-Instanz als auch die Verwendung der download-manager, um dies zu tun, aber keiner von Ihnen scheint zu funktionieren (obwohl, wenn ich öffnen Sie die gleiche Seite in Google Chrome, den download-Vorgang arbeitet dort).

Habe ich versucht den folgenden code,es wirft Fehler:

Android.Inhalt.ActivityNotFoundException: Keine Aktivität gefunden zu handhaben Intent { act=android.Absicht.Aktion.VIEW dat=blob:https%3A//111.111.111.111%3A8080/40b63131-63b1-4fa4-9451-c6297bbd111a"

Bearbeiten

Android.Inhalt.ActivityNotFoundException: Keine Aktivität gefunden zu handhaben Intent { act=android.Absicht.Aktion.VIEW dat=blob:http://digitalinsensu.com/0f0d6127-a0f1-44c3-af85-72f648258d6d


Code:

mWebView.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent,String contentDisposition, String mimetype,long contentLength) {
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i);
}
});

und dies wirft java.lang.IllegalArgumentException: Kann nur herunterladen, HTTP/HTTPS-URIs Fehler:

mWebView.setDownloadListener(new DownloadListener() {
    public void onDownloadStart(String url, String userAgent,String contentDisposition, String mimetype,long contentLength) {
        DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
        request.allowScanningByMediaScanner();
        request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
        request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "download");
        DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
        dm.enqueue(request);

    }
});

Wie soll ich das herunterladen der blob? Jede Hilfe würde geschätzt werden.

  • Was Sie erwarten zu geschehen, statt des Absturzes?
  • Warum würden Sie ein webview zum download ein Objekt? Es wird nicht wissen, wie Sie zu analysieren ist etwas anderes, als eine Webseite. Verwenden DownloadManager statt.
  • Lade ich eine url in meinem webview, der einen Haufen Dinge, und erzeugt ein blob, und ich möchte den download auf das Gerät.
  • Ich verstehe, dass der code nicht funktioniert, da er versucht, den Betrieb in einem blob gespeichert-browser statt einer HTTP-Adresse, aber ich habe nicht in der Lage gewesen, um herauszufinden, wie laden ein blob in Android.
  • Wenn die url-Zeichenfolge wird nur "blob:" ich glaube nicht, dass es alles, was Sie tun können, mit, dass man die Daten, die Sie wollen.
  • Definitiv scheint, wie Sie Ihre url ist nicht richtig. Es muss eine vollqualifizierte url
  • Ich wusste nur nicht, kopieren Sie die gesamte url in es.
  • Ja, scheint, wie diese Methoden funktionieren nur mit der richtigen URLs und nicht-blobs. Ich konnte nicht herausfinden, wie Zugriff auf den blob von java aber.
  • Es muss eine url beginnend mit http oder https auf die Daten zugreifen. blob: ist nicht ein Protokoll zur übertragung von Daten mit.
  • Es sieht aus wie es ist eine kodierte url in die blob-url. Ist es das, was du versuchst zu downloaden?
  • Ich bin versucht zu laden Sie die audio-Daten der blob enthält.
  • Wir erwarten das gleiche Verhalten wie Native Android Browser.ich.e Datei-Downloads perfekt im browser.

Schreibe einen Kommentar