AnnaBauer21
Neues Mitglied
- 3
Hallo ihr Lieben,
ich habe in Google schon einige Foreneinträge zum meinem Problem gelesen, aber leider hat keine dieser Lösungen bei mir funktioniert.
Vorweg als Info, ich möchte auf meiner App heraus eine PDF Datei öffnen, nicht in meiner App, sondern mit einer anderen entsprechenden vorhandenen App wie z.B. einem Standard PDF Viewer oder Adobe, je nachdem was man am Handy installiert hat.
Mein Code funktioniert auch, wenn die Datei unter files im App Ordner liegt, aber wenn ich den Downloads-Ordner verwenden möchte geht es nicht, mir ist unklar warum.
Ordnerstruktur
AndroidManifest.xaml
provider_paths.xml
Code zum Öffnen der PDF
Beim Verwendung des Download-Ordners öffnet sich im Emulator nur ein schwarzer Bildschirm & am Handy passiert garnichts.
Wenn ich FLAG_ACTIVITY_NEW_TASK entferne kommt am Handy zumindest die Auswahl der App zum Öffnen der Datei und wenn ich dort Adobe auswähle erhalte ich 2 Fehler
Ich hoffe sehr, dass ihr mir helfen könnt!
Liebe Grüße
ich habe in Google schon einige Foreneinträge zum meinem Problem gelesen, aber leider hat keine dieser Lösungen bei mir funktioniert.
Vorweg als Info, ich möchte auf meiner App heraus eine PDF Datei öffnen, nicht in meiner App, sondern mit einer anderen entsprechenden vorhandenen App wie z.B. einem Standard PDF Viewer oder Adobe, je nachdem was man am Handy installiert hat.
Mein Code funktioniert auch, wenn die Datei unter files im App Ordner liegt, aber wenn ich den Downloads-Ordner verwenden möchte geht es nicht, mir ist unklar warum.
Ordnerstruktur
AndroidManifest.xaml
XML:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
provider_paths.xml
XML:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<!--/storage/emulated/0/Android/data/de.kugs.mydailyreminder/files-->
<external-files-path
name="external_files"
path="." />
<!--/storage/emulated/0/Download-->
<external-path
name="external_downloads"
path="Download" />
</paths>
Code zum Öffnen der PDF
Java:
//String filePath = MainMenu.this.getExternalFilesDir(null).getAbsolutePath() + "/test.pdf"; // --> GEHT
String filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + "/test.pdf"; // --> GEHT NICHT!!!
File dir = new File(filePath);
if(dir.exists())
{
Uri uri = FileProvider.getUriForFile(MainMenu.this, MainMenu.this.getApplicationContext().getPackageName() + ".fileprovider", dir);
intentShareFile.setDataAndType(uri,"application/pdf");
intentShareFile.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intentShareFile.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intentShareFile.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentShareFile.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(Intent.createChooser(intentShareFile, "Open File Using..."));
}
Beim Verwendung des Download-Ordners öffnet sich im Emulator nur ein schwarzer Bildschirm & am Handy passiert garnichts.
Wenn ich FLAG_ACTIVITY_NEW_TASK entferne kommt am Handy zumindest die Auswahl der App zum Öffnen der Datei und wenn ich dort Adobe auswähle erhalte ich 2 Fehler
- Auf diese Datei konnte nicht zugegriffen werden.
- Ein Systemfehler ist aufgetreten.
Ich hoffe sehr, dass ihr mir helfen könnt!
Liebe Grüße
Zuletzt bearbeitet: