如何提示内容管理器选择器直接在 ACTION_OPEN_DOCUMENT_TREE 的可选位置上打开

2024-02-19

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

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

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

这就是出现的情况:

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

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

Now the “使用此文件夹”按钮可用。

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

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


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何提示内容管理器选择器直接在 ACTION_OPEN_DOCUMENT_TREE 的可选位置上打开 的相关文章

随机推荐

  • 如何在 Node js 中使用 module.exports 导出数组?

    我有一个使用node js 的项目 这是我第一次使用nodejs 我想将数组导出到我的应用程序 这是一些代码 module exports var arrays arrays 0 array 0 arrays 1 array 1 array
  • 为什么 easeljs stage.getBounds() 返回 null?

    在这个例子中 var canvas document getElementById testCanvas var stage new createjs Stage canvas function drawRectangle var rect
  • 当我们在键盘上键入时,如何使字符串的内容显示在屏幕上?

    我有这个功能 玩家可以输入他的名字 但我希望每个字母在他输入时出现在屏幕上 这是我的功能 def input player name player name screen True name win blit player name bg
  • Spring Security,安全访问和非安全访问

    我正在做一个需要先登录的小应用程序 但对于某些第三方工具 我想提供一个不需要登录的API 登录本身工作正常 API 本身工作正常 但我不知道如何告诉 Spring Security 无需身份验证即可访问 API 我在这里和其他网站上检查了几
  • Spring mvc 验证异常处理程序在控制器方法之前调用

    我有以下代码 public class StudentController extends BaseController RequestMapping value student edit method RequestMethod POST
  • Flask-Sqlalchemy:数据库查询不返回新数据

    我正在构建一个应用程序 它从一项服务接收 webhook 将数据存储在数据库中 然后通过 API 提供数据 我能够成功地将数据添加到我的应用程序中 但是当我查询数据库时 我只收到上次启动应用程序时数据库中的第一次提交 例如 如果我启动应用程
  • Android:ListView 中的按钮未接收 onClick 事件

    我正在制作一个日期选择器活动 看起来像滚动的 30 天月份 日历 想想 Outlook 日历 日期选择器包含 MonthView 视图的 ListView 用于滚动 每个视图都是各个日期的 TableView MonthView 中的每一天
  • FPGA 有哪些实际应用?

    我对我的程序为一个小型七段显示器提供动力感到非常兴奋 但是当我向不在现场的人展示它时 他们总是说 那么你能用它做什么 我永远无法给他们一个简洁的答案 谁能帮我吗 第一 它们不需要具有易失性存储器 事实上 大厂商 Xilinx Altera
  • 如何从输出迭代器获取值类型?

    假设我有一个 C 容器 例如 MyContainer 包含的对象存储为void 指针 迭代此容器元素的唯一方法是通过两个接口函数 getFirstElem MyContainer const void 输出容器的第一个元素 getNextE
  • 为什么组件中的 React Native 函数没有“function”关键字?

    在 javascript 函数中声明为function myFuncName 但 React React Native 函数省略了该关键字 这是 ES6 JSX 或 React 特有的吗 这是ES6的一个特性 更多信息请访问https ba
  • C#/ODP.NET:大 IN 子句解决方法

    我们有一个 C 组件 可以处理将任意大小的元素列表附加到半任意 SQL 的 IN 子句中SELECT查询 本质上这可以归结为接收类似的东西 SELECT COUNT FROM a WHERE b IN 其中 是允许组件修改的查询的唯一部分
  • Python - 将日期戳添加到文本文件

    在Python v2中 有没有办法获取日期 时间戳并将其放入创建新的文本文件中 IE 当我想创建一个新的文本文件并将程序的内容写入其中时 它将创建一个包含时间 日期的新文本文件 谢谢你的帮助 import datetime def time
  • Google API oauth httpd 服务器与 Python 中的 SABNzbd+ 冲突

    我正在编写一个与 Google API 交互的 Python 应用程序 并需要通过 oauth2 进行用户身份验证 我目前正在设置一个本地身份验证服务器 以接收从 Google 的 oauth 服务器返回的 oauth2 身份验证代码 基本
  • 在 IE8 中可单击带警报的禁用按钮(Asp.net 网站中的浏览器兼容性问题)

    我已经禁用了链接按钮和图像按钮 位于链接按钮内 以便我可以显示警报 并且它在 Chrome 中工作正常 但是当我在 IE8 中打开它时 图像被禁用 但是当我单击它时 它会显示popup 您确定要删除该用户吗 为什么我在 IE8 和 IE7
  • ClassNotFoundException:使用服务组合时未找到 com.mysql.jdbc.Driver

    我正在使用 servicemix 4 4 1 和 maven 3 0 4 我对 servicemix java 世界非常陌生 我的主要知识是 c php 我已将以下内容添加到我的路线之一
  • 恢复后在 Android 中丢失 OpenGL 纹理

    我的游戏运行正常 除非我按下 HOME 按钮然后继续 需要做什么才能再次使用纹理 我尝试在 GLSurfaceView 上调用 onPause 和 onResume 当调用活动的 onPause 和 onResume 时 有什么想法我可能做
  • WCF MSMQ 单元测试

    我使用 WCF 创建了一个自定义 msmq 服务 它使用自定义绑定 因为它需要在通道层执行一些自定义逻辑 在通道层调用另一个 wcf 服务 该服务将成为未来几年我们系统的核心功能 我想尽我所能确保服务稳健 但是 我不知道从哪里开始 即测试响
  • 为什么.NET的条件属性会导致副作用被消除?

    我读到了关于Conditional今天的属性 根据 MSDN 正在申请ConditionalAttribute方法的调用指示编译器不应将对该方法的调用编译为 Microsoft 中间语言 MSIL 除非与关联的条件编译符号Condition
  • 使用'printf'在C中打印%符号[重复]

    这个问题在这里已经有答案了 我正在尝试打印一个 标志使用printf https en wikipedia org wiki Printf format string 我尝试过但没有运气 printf 我确信这真的很简单 但我刚刚开始使用
  • 如何提示内容管理器选择器直接在 ACTION_OPEN_DOCUMENT_TREE 的可选位置上打开

    当你使用ACTION OPEN DOCUMENT TREE要选择在 Android 11 中存储文件的路径的权限 默认情况下 默认的 Android 内容管理器会在最近使用的路径和按钮上打开 使用此文件夹 由于某种原因 即使该路径是可访问路