IllegalArgumentException: Fehler beim Suchen des Konfigurationsstamms, der xxx enthält, in FileProvider.getUriForFile
Ich habe versucht, dem zu folgenAndroid-Tutorial zum Teilen von Dateien. Ich habe dieFileProvider
so was:
Auf dem Hauptmanifest xml:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.mysecondapp.fileprovider"
android:exported="false"
android:grantUriPermissions="true" >
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths" />
</provider>
Die Datei res / xml / filpaths.xml:
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="myexternalimages" path="SpCars_album/" />
</paths>
Und in meinem Code versuche ich Folgendes:
File requestFile = new File(mImageFilenames[position]);
try {
fileUri = FileProvider.getUriForFile(
SeventhActivity.this,
"com.example.mysecondapp.fileprovider",
requestFile);
} catch (IllegalArgumentException e) {
Log.e("File Selector",
"The selected file can't be shared: " +
mImageFilenames[position]);
}
Die requestFile wird mit einem korrekten Arbeitspfad für eine Datei instanziiert. Der Pfad dieser Datei beginnt genau mit whatgetExternalFilesDir(Environment.DIRECTORY_PICTURES)
kehrt zurück. Ich kann einfach nicht verstehen, was den Fehler auslöst, weil alles zu passen scheint. Danke im Voraus.