【问题标题】:Android Documents Provider how to use and do I need it?Android Documents Provider如何使用,我需要它吗?
【发布时间】:2022-07-04 23:49:32
【问题描述】:

我将创建一个用于从 Internet 访问文件的应用程序。我不想实现 UI,而是让它们在其他文件管理器中可见。所以,我选择实现一个 Document Provider。我做到了。在接下来的图片中,您可以看到我打开“文件”应用,找到“我的文档提供者”并可以访问其文件。

但是,它是一个模拟器。当我尝试在我的物理设备上使用该应用程序时,我发现我无法查看文档提供者。我使用 Xiaomi Redmi Note 5 Pro (android 9.0) 没有“文件”应用程序。我测试了来自 Google Play 的前 20 个文件管理器,甚至 MIUI 都内置了文件资源管理器,但没有一个可以显示我的“我的文档提供程序”。

只有在尝试从 Gmail 应用程序附加文档时,我才设法看到我的文档提供者。但这不是我需要的。

问题:

  1. Documents Provider 不是我需要的,我说得对吗?
  2. 我说得对吗?这是与其他使用存储访问框架(如 Gmail、照片编辑器等)的客户端应用程序共享文件的附加方式,但并非旨在用作访问文件的主要方法?
  3. 我必须使用 UI 和文件资源管理器的完整功能来实现我自己的活动作为用户访问其文件的主要方法,这对吗? (如 Google Drive 应用程序 - 它具有:用于管理文件的自己的 UI 和可从系统选择器访问的文档提供程序)

【问题讨论】:

    标签: android storage-access-framework documents-provider


    【解决方案1】:

    我不想实现 UI,而是让它们在其他文件管理器中可见

    您无法强迫其他应用做很多事情。特别是,您无法强制文件管理器显示您应用中的内容。

    我说得对吗?这是与其他使用存储访问框架(如 Gmail、照片编辑器等)的客户端应用程序共享文件的附加方式,但并非旨在用作访问文件的主要方法?

    正确。 DocumentsProvider 用于通过存储访问框架使文档可用。文件管理器可以选择显示来自设备上注册的DocumentsProvider 实现的文档。实际上,很少有文件管理器这样做,我并不感到惊讶。您可以考虑将该功能贡献给开源文件管理器。

    我必须使用 UI 和文件浏览器的完整功能来实现我自己的活动,作为用户访问其文件的主要方法,这对吗?

    这取决于你。如果您希望确保您的应用能够为所有用户执行某些操作,那么拥有自己的 UI 来遍历您的文档集合将是一个好主意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-27
      • 2021-05-31
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多