Android - Laden von PDF innerhalb des webview
Habe ich diese webview-code und ich möchte es auch möglich, die PDF-Dateien geöffnet, wenn ein Benutzer klickt auf einen PDF-link. Hier ist der code, können Sie mir sagen, was ich in den PDF-Bereich? Ich habe versucht viele verschiedene Möglichkeiten, und ich kann nicht Holen Sie sich die PDF-Ansicht auf alle. Vielen Dank für die Hilfe.
webview.setWebViewClient ( new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//do your handling codes here, which url is the requested url
//probably you need to open that url rather than redirect:
if (url.startsWith("tel:")) {
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
} else if (url.startsWith("mailto:")) {
url = url.replaceFirst("mailto:", "");
url = url.trim();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL,
new String[]{url});
startActivity(i);
} else if (url.startsWith("geo:")) {
try {
} catch (Exception e) {
System.out.println(e);
}
} else if (url.endsWith("pdf")) {
try {
} catch (Exception e) {
System.out.println(e);
}
} else {
view.loadUrl(url);
}
return true;
//then it is not handled by default action
}
});
InformationsquelleAutor user1363871 | 2012-05-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies könnte so einfach sein wie:
obwohl ich habe nicht versucht, diese.
In unseren apps, wir LADEN Sie die PDF-Datei in das apps-Datei-system, machen es weltweit lesbar ist, dann übergeben Sie den Pfad in der Absicht, öffnen Sie ein PDF-Anzeige-app (z.B. Acrobat Reader). Bitte beachten Sie, dass würden Sie auch brauchen, um auch mit Reinigung der heruntergeladenen PDF-Dateien!
in Ihrem try-block setzen
DownloadPDFTask Klasse:
jede Bezugnahme auf "myActivity" muss ersetzt werden durch einen Verweis auf die Activity-Klasse
Nein, im Gegensatz zu UIWebView für iOS, die Android WebView nicht die Anzeige von PDF-Inhalten. Sie können versuchen, direkt den Aufruf der Absicht (also keine AsyncDownloadTask), wenn Sie verlassen Ihre Tätigkeit, egal was.
Hmm, also der beste Weg in android wäre zu nennen, die "async" zu laden Sie die Datei herunter und speichern Sie es. Wissen Sie, wenn der Prozess kann automatisch den Dateinamen und speichern Sie diesen Namen auf der SD-Karte? Ich habe immer angegeben ist der name, wenn mit dieser. Danke!
Ich würde versuchen, nur reichte Ihre http://{file}.pdf url für den Vorsatz, ich würde denken, die PDF-viewer-Programm (z.B. Acrobat) kümmert sich um den rest. Wenn es nicht funktioniert, der downloader Aufgabe sollte Ihnen einen guten Ausgangspunkt. Dieser Teil des Codes behandelt die Benennung der Datei, extrahiert den Dateinamen aus der URL löschen: // local mit dem Namen, zum letzten Teil der URL, String[] strURLParts = urls[0].split("/"); if (strURLParts.Länge > 0) mFileName = strURLParts[strURLParts.Länge - 1]; else mFileName = "REPORT.pdf";
InformationsquelleAutor CSmith
Ich habe versucht, behandeln Sie diese genau dasselbe Szenario. Die Lösung kam ich mit unter.
Ich brauchte, um sicherzustellen, dass es würde der Umgang mit den pdf-links, auch wenn es ein query-string. Noch ein bisschen hacky als die cleanUrl ein Ende haben muss "pdf", aber so lange, das ist wahr, dies sollte funktionieren. Wenn Sie mit pdf-Dateien durch ein php-Skript oder etwas, möchten Sie vielleicht, um ein wenig tiefer Graben, Griff, Dinge, die basierend auf den MIME-Typ oder so etwas.
InformationsquelleAutor Shane
Laden von pdf-Dateien innerhalb einer webview:
mUrl - wird Ihre pdf-link
InformationsquelleAutor DoronK
Bitte der Kasse die beispielsweise für die Handhabung von Weiterleitungs-urls und öffnen Sie PDF-ohne download, in webview.
InformationsquelleAutor Ashish Das
FWIW, hat mozilla PDF-reader-ganz-in-JavaScript, dass der apache-Lizenz. Könnte sein, lohnt ein Blick in, wenn Sie nichts dagegen haben, die extra-Größe. So können Sie alles im browser und müssen nicht verlassen sich auf eine 3rd-party-PDF-reader.
InformationsquelleAutor fattire