首页 > 解决方案 > 如何使用 ACTION_OPEN_DOCUMENT_TREE 提示内容管理器选择器直接在可选位置打开

问题描述

当您用于ACTION_OPEN_DOCUMENT_TREE选择在 Android 11 中存储文件的路径的权限时,默认情况下默认的 Android 内容管理器会在最近使用的路径上打开,并且由于某种原因, “使用此文件夹”按钮甚至根本不会出现,即使此路径是可访问的路径,除非用户手动通过路径移动到合适的位置(或者如果这是可选位置,则返回默认打开的路径通过目录移动)。

例如,假设用户使用的最新路径是Documents。当我要求用户选择允许应用程序保存文件的路径时,使用

Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
i.addCategory(Intent.CATEGORY_DEFAULT);

这是出现的:

在此处输入图像描述

如您所见,没有“使用此文件夹”蓝色按钮。

现在,如果用户从这里选择超级文件夹路径并在Documents中再次输入,这就是他所看到的:

在此处输入图像描述

现在“使用此文件夹”按钮可用。

这是完全没有意义的,而且对用户体验来说是可怕的,许多用户最终肯定会在卸载应用程序时感到烦恼和困惑。

难道我做错了什么?是否可以通过选择器打开时可用的“使用此文件夹”按钮向意图传递一些提示,以便ACTION_OPEN_DOCUMENT_TREE直接在所有 Android 设备存储(例如Documents)中可用的特定路径中打开内容管理器视图?

标签: androidstorage-access-frameworkandroid-11

解决方案


推荐阅读