与 FileProvider 共享整个路径是否安全?

Is it safe to share the entire path with a FileProvider?

我正在开发一个库,在该库中我实现了来自 Android 支持的 FileProvider,并希望让开发人员能够轻松地从 external-path、[=12] 中的任何一个共享文件=]、cache-path。如果我自己提供路径,问题是,如果我像这样声明对每个路径的根目录的共享访问,我是否会产生任何安全问题:

<?xml version="1.0" encoding="UTF-8" ?>
<paths>
  <external-path name="external_files" path="." />
  <cache-path name="internal_cache" path="." />
  <external-cache-path name="external_cache" path="." />
</paths>

我仍然需要调用 getUriForFile(..) 来获得实际的 URI,对吗?有人可以从原始内容 uri 中的该路径猜测文件名然后访问它,还是 getUriForFile 做一些特殊的事情来授予对该特定文件的访问权限?

getUriForFile() returns 一个仅用于访问该文件的安全 URI。 FileProvider 授予对每个 Uri 单个文件的访问权限。您所提议的是一种允许应用程序访问您的文件的安全方式。