IllegalArgumentException: Nie można znaleźć katalogu głównego konfiguracji, który zawiera xxx na FileProvider.getUriForFile

Próbowałem śledzićSamouczek systemu Android na udostępnianie plików. UstawiłemFileProvider lubię to:

W głównym manifeście 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>

plik res / xml / filpaths.xml:

<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="myexternalimages" path="SpCars_album/" />
</paths>

W moim kodzie próbuję:

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]);
                }

Plik requestFile jest tworzony z odpowiednią ścieżką roboczą dla pliku. Ścieżka tego pliku zaczyna się dokładnie od tego, cogetExternalFilesDir(Environment.DIRECTORY_PICTURES) zwraca. Po prostu nie rozumiem, co powoduje błąd, ponieważ wszystko wydaje się pasować. Z góry dziękuję.

questionAnswers(4)

yourAnswerToTheQuestion