AnnaBauer21
Neues Mitglied
- 4
 
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: