2016-10-13 3 views
0

Ich versuche, eine PDF-Datei von meinem Gerät/dem Emulator entfernt zu sehen. Ich habe ziemlich viel recherchiert und habe mich im stackoverflow umgesehen, wie ich das machen kann, ohne die PDF herunterladen zu müssen und dann die Datei so anzusehen.Anzeigen von PDF (von URL) in Android-App in einem Webview Intent

Dies ist der entsprechende Code-Schnipsel für den Versuch, dies zu tun:

if (url.contains("CreateQuoteDocument")) { 
    webview.getSettings().setJavaScriptEnabled(true); 
    try { 
     Intent intent = new Intent(Intent.ACTION_VIEW); 
     intent.setDataAndType(Uri.parse(url),"application/pdf"); 
     startActivity(intent); 
    } catch (ActivityNotFoundException e) { 
     Log.e("something went wrong", e.getMessage()); 
    } 
} 

Ich erhalte die folgende Ausnahme:

E/something went wrong: No Activity found to handle Intent { act=android.intent.action.VIEW ... 

dies gesagt So hat, ich habe zwei Fragen,

  1. Warum funktioniert das nicht?

  2. Gibt es eine andere Möglichkeit, dies zu tun? (Obwohl sie nicht mit Google Text & Tabellen)

EDIT

Die URL richtig mit http://www

Antwort

0

Versuchen Sie, diese formatiert ist:

String myPdfUrl = "http://example.com/awesome.pdf"; 
String url = "http://docs.google.com/gview?embedded=true&url=" + myPdfUrl; 
Log.i(TAG, "Opening PDF: " + url); 
webView.getSettings().setJavaScriptEnabled(true); 
webView.loadUrl(url); 
+0

Ich möchte insbesondere vermeiden, Google Docs zu verwenden, um dieses Problem zu lösen, da es Ihnen nur eine begrenzte Menge an URL-Verwendungen gibt. – Jazzbaron

+0

Ok. Wenn Sie in diesem Fall Ihre URL in einem Browser anzeigen können, tun Sie Folgendes: webView.loadUrl (url); –

0

Warum nicht diese Arbeits ?

Sie haben eine App nicht installiert, die eine Aktivität enthält, das unterstützt, dass Intent Struktur (zum Beispiel application/pdf für was auch immer Schema von url verwendet werden passiert).

Gibt es eine andere Möglichkeit, dies zu tun?

Sie könnten eine App installieren, die eine Aktivität enthält, die diese Intent Struktur unterstützt. Natürlich haben nicht alle Nutzer eine solche App, aber vielleicht möchten Sie Ihren Code nur persönlich verwenden. In diesem Fall gibt es außer Ihnen keine anderen Nutzer.

+0

Also Apps wie Adobe Acrobat Reader, Browser wie Google Chrome usw. hat diese Unterstützung nicht? Ich habe diese zumindest installiert. – Jazzbaron

+0

Auch PDF-Reader sowie POLARIS Office Viewer 5 ansteuern. – Jazzbaron

+0

@Jazzbaron: Adobe Acrobat sieht so aus, als ob es 'ACTION_VIEW' von' http' URLs für 'application/pdf' unterstützt. Ich weiß nichts über die anderen Apps. Sie könnten in Erwägung ziehen, Ihre Frage zu bearbeiten und den vollständigen Stack-Trace bereitzustellen, einschließlich der vollständigen Fehlermeldung. – CommonsWare

Verwandte Themen