FileProvider配的路径是干什么用的,<root-path>路径干什么的

String path=Environment.getExternalStorageDirectory().toString()+File.separator+"forpermission"+File.separator+fileName+".jpg";
File imageFile=new File(path);
Uri uri= FileProvider.getUriForFile(ThirdActivity.this,"com.ruan.testw.my_provider",imageFile);

这里传入的路径是sd卡下的forpermission文件夹下

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="com.ruan.testw.my_provider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
</provider>
<paths>
 
    <external-path
        name="camera_photo"
        path="forpermission"/>
</paths>

这个传入的路径也是这个文件夹下的不会报错

如果我传入其他文件夹或报错但是我要是配置了root-path路径就不会报错

<paths>
    <root-path
        name="root"
        path=""/>
    <external-path
        name="camera_photo"
        path="aa/forpermission"/>
</paths>
<root-path/> 代表设备的根目录new File("/");//很少用
//app内部存储
<files-path/> 代表context.getFilesDir()
<cache-path/> 代表context.getCacheDir()
//sd卡存储
<external-path/> 代表Environment.getExternalStorageDirectory()
<external-files-path>代表context.getExternalFilesDirs()
<external-cache-path>代表getExternalCacheDirs()