Ich habe eine Frage über den Android FileProvider. Ich möchte ein PDF-Dokument speichern und mit einem Standardprogramm öffnen. Ich möchte es nicht im externen Speicher speichern.Android Fileprovider: IllegalArgumentException: Konnte nicht finden, konfigurierte Wurzel, die
Nach Ive erfolgreich das pdf zum FilesDirectory/export/temp.pdf gespeichert,
Ive versucht, eine URI zu erzeugen, indem FileProvider.getUriForFile() verwenden.
File path = new File(getFilesDir(), "export");
File pdf = new File(path + File.separator + "temp.pdf");
pdf.getParentFile().mkdirs();
if (!pdf.exists())
pdf.createNewFile();
Uri uri = FileProvider.getUriForFile(getApplicationContext(), "?", pdf);
Frage: Was muss ich als zweiten Parameter „Behörde“ übergeben - die Lage meiner Dateien, die Klasse, die die URI-Berechtigungen oder etwas anderes gewähren kann? Was immer ich versucht habe, führte zu einer IllegalArgumentException oder einer NullPointerException. My FileProvider (XML):
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.myApp.myActivity"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_path"/>
</provider>
referenzierten Datei:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<cache-path name="pdfTemplates" path="export/" />
</paths>
Ich habe genau das gleiche Problem. Hast du schon eine Antwort gefunden? –