缓存dir的Android FileProvider:无法找到包含的配置的根



我找到了许多与fileprovider相关的链接,但我没有找到 cache Directory的解决方案

java.lang.illegalargumentException:未能找到配置的root 其中包含/data/data/pkg name/cache/1487876607264.png

我想将其用于缓存目录,我如何在提供商中给出路径。

<paths>
    <external-path name="external_files" path="."  />
</paths>

我将其用作:

File file = new File(context.getCacheDir(), System.currentTimeMillis() + ".png");
Uri uri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".provider", file);

如果我提供应用程序文件夹路径,则可以正常工作,但不使用 CACHEDORY。

有帮助吗?

使用<cache-path>,而不是<external-path>。请参阅文档。

在我的情况下,我对两个不同的路径使用相同的名称。唯一的工作路径是最后一个。因此,请确保为每个路径指定唯一名称。

最新更新