前言

在使用FileProvider分享文件时出行如下异常。

AndroidRuntime: FATAL EXCEPTION: main
AndroidRuntime: Process: com.biumall.file2, PID: 10871
AndroidRuntime: java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/udisk2/20240527/半吨兄弟-鬼迷心窍(烟嗓版).flac
AndroidRuntime:        at androidx.core.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:800)
AndroidRuntime:        at androidx.core.content.FileProvider.getUriForFile(FileProvider.java:442)
AndroidRuntime:        at com.biumall.file2.utils.FileUtils.startOtherPlayer(FileUtils.java:210)
AndroidRuntime:        at com.biumall.file2.FileActivity.onItemClick(FileActivity.java:190)

记录一下,方便自己查阅。

正文

一开始使用FileProvider时都是参考网上的教程,这里参考《》

配置也是照抄。

file_paths.xml

下面部分 /BiuFile2/src/main/res/xml/file_paths.xml

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <files-path name="my_images" path="images/"/>
</paths>

然后在使用时出行上面异常。

下面的配置是对的,可以解决上面的异常。

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

参考文章

  1. FileProvider – IllegalArgumentException: Failed to find configured root

  2. Flutter:open_file打开本地文件报错问题

相关文章

暂无评论

none
暂无评论...