2017-07-19 3 views
0

Ich möchte, dass meine App externe pdfs öffnen kann, also implementiert dieser Intent-Filter, mit dem ich meine App bei der Auswahl eines PDF öffnen kann.Android "open with ..." gibt verschiedene URLs (intent-filter)

 <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:mimeType="application/pdf" /> 
     </intent-filter> 

Bei einigen Geräten die Daten-URL ist so etwas wie:

content://downloads/all_downloads/4860 

, die ich mit diesem Stück Code öffnen:

Cursor returnCursor = this.cordova.getActivity().getApplicationContext().getContentResolver().query(returnUri, null, null, null, null); 

Auf anderen Geräten wie One Plus One (kann nicht wirklich herausfinden, was der Unterschied in Android-Version ist) die Absicht diese URL erhalten:

file:///storage/emulated/0/Download/pdf-test.pdf 

Ich kann diese URL nicht öffnen, weil ich wahrscheinlich keinen Zugriff darauf habe. Weiß jemand, was ich falsch mache?

Antwort

0

Ok, war es doch einfach. Musste Berechtigungen anfordern, um externen Speicher zu lesen/schreiben, damit ich die Datei-URL behandeln konnte.

Verwandte Themen