使用Fileprovider获取非法参数异常

时间:2018-07-07 04:15:38

标签: java android filepath android-fileprovider

我一直在处理我正在处理文件的项目,直到遇到这种异常,它都可以正常工作

  

Java.lang.IllegalArgumentException:无法找到配置的根目录   包含/storage/emulated/0/Pictures/temp.jpg

我在Google上搜索了每种可能的解决方案,但没有得到任何适当的解决方案。

这是我遇到异常的代码

private Uri getOutputMediaFileUri(int type) {
        try{
            photoURI = FileProvider.getUriForFile(this, getApplicationContext().getPackageName() + ".provider", getOutputMediaFile(type));
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return photoURI;//Uri.fromFile(getOutputMediaFile(type));
    }

这里是清单中的提供者

<provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="@string/file_provider_authority"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_provide" />
        </provider>

这是file_provede.xml

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <cache-path name="cache" path="." />
    <files-path name="files" path="." />
    <external-files-path name="external_files" path="."/>
    <!--<external-cache-path name="external_files" path="." />-->
</paths>

0 个答案:

没有答案