1

我正在实施FileProvider

它比普通的优点ContentProvider是更高的安全性:

  • content:// Uri通过为文件而不是为文件创建安全共享与应用程序关联的文件file:/// Uri
  • 内容 URI 允许使用临时访问权限授予读写访问权限

所以要点之一是客户端应用程序不应该知道访问数据的真实文件路径。

对于大多数客户端应用程序来说,在它们开始读取实际数据之前了解human-friendly name of file和/或非常重要。size of the file这些应用程序通过query() 方法FileProvider询问名称/大小。该方法只需要参数中的 2 个选项- OpenableColumns ( , )。projection_display_name_size

现在的问题。一些客户端应用程序正在_data进入投影,期望获得数据的真实完整路径。FileProvider但是出于安全原因,返回一个真实的文件路径会破坏使用的整个想法。

我的问题是“我错过了什么吗?”。只是一些客户端应用程序写得不好,所以他们的问题是因为没有获取文件路径而崩溃?

4

0 回答 0