ACTION OPEN DOCUMENT TREE 仅返回空的最近文件夹

2024-04-10

我从之前的帖子中仔细复制了以下代码片段,它在模拟器和我的 Nexus 9 设备上都有效,在一定程度上!

但是,我得到的只是一个空的“最近”文件夹,而且我从未到达写入文件的代码。

我必须更改什么才能获得正确的文档树?

   private void testDocumentTree() {

            Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
            startActivityForResult(intent, 42);
        }

        public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
            String TAG = "onActivityResult";
            if (resultCode == RESULT_OK) {
                Uri treeUri = resultData.getData();
                DocumentFile pickedDir = DocumentFile.fromTreeUri(this, treeUri);

                // List all existing files inside picked directory
                for (DocumentFile file : pickedDir.listFiles()) {
                    Log.d(TAG, "Found file " + file.getName() + " with size " + file.length());
                }

                // Create a new file and write into it
                DocumentFile newFile = pickedDir.createFile("text/plain", "My Novel");
                try {
                    OutputStream out = getContentResolver().openOutputStream(newFile.getUri());
                    out.write("A long time ago...".getBytes());
                    out.close();
                } catch (FileNotFoundException e) {
                    Log.d(TAG, "File Not Found, reason: ", e);
                } catch (IOException e) {
                    Log.d(TAG,"IOException, reason: ", e);
                }
            }
        }

其他人提到了 DocumentsUI 上用户应手动启用的选项。然而还有另一种选择。将这些额外内容添加到您的 ACTION_OPEN_DOCUMENT、ACTION_GET_CONTENT、ACTION_CREATE_DOCUMENT 或 ACTION_OPEN_DOCUMENT_TREE 意图中。打开 DocumentsUI 应用程序时,存储设置上的探索按钮会使用这些附加功能。我认为第一个足以显示内部存储和 SD 卡。其他的都有就好了。

intent.putExtra("android.content.extra.SHOW_ADVANCED", true);
intent.putExtra("android.content.extra.FANCY", true);
intent.putExtra("android.content.extra.SHOW_FILESIZE", true);

安卓10

我在 Android 10 模拟器和 OnePlus 7T 上尝试过,“SHOW_ADVANCED”额外没有任何作用。用户应手动单击三点菜单上的“显示内部存储”。 SD 卡默认可见。

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

ACTION OPEN DOCUMENT TREE 仅返回空的最近文件夹 的相关文章

  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • 检查 WebView 元素时的 UiAutomator 错误

    I have recently started automation testing in android and was using UiAutomator tool for inspecting UI elements Surprisi
  • 如何正确释放Android MediaPlayer

    我正在尝试向我的 Android 应用程序添加一个按钮 当点击该按钮时它会播放 MP3 我已经让它工作了 但没有办法释放 mediaPlayer 对象 因此即使在我离开活动后它仍然会继续播放 如果我在react 方法之外初始化MediaPl
  • Android 初学者:Android gridview 中的触摸事件

    我正在使用以下代码来使用 gridview 执行操作 稍作修改http developer android com resources tutorials views hello gridview html http developer a
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • 对于一个单元格,RecyclerView onBindViewHolder 调用次数过多

    我正在将 RecyclerView 与 GridLayoutManager 一起使用 对于网格中的每个项目 我需要调用 REST api 来检索数据 然后 从远程异步获取数据后 我使用 UIL 加载 显示图像 一切似乎都很好 但我发现 on
  • Mipmap 与可绘制文件夹[重复]

    这个问题在这里已经有答案了 我正在使用 Android Studio 1 1 Preview 1 我注意到 当我创建一个新项目时 我得到以下层次结构 不同 DPI 的 Mipmap 文件夹 不再有不同 DPI 的可绘制文件夹 我应该将所有资
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • 通过电子邮件发送文本文件附件

    我正在尝试附加一个文本文件以便通过电子邮件发送 但每当我打开电子邮件应用程序时 它都会说该文件不存在 请帮助 Intent i new Intent Intent ACTION SEND i setType text plain i put
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • Git 实验分支还是单独的实验存储库?

    我正在开发一个 Android 应用程序 并且在整个开发周期中一直使用 Git 现在 我想构建并发布实验性功能 供人们尝试和安装 同时仍将原始的 稳定的应用程序安装在他们的设备上 现在 这意味着我需要使用不同的包名称 这会更改开发项目中的一
  • 有没有任何代码可以在android中设置壁纸而无需裁剪和缩放?

    我正在创建一个画廊应用程序 我的第一个应用程序 这是我的代码 Bitmap bmd BitmapFactory decodeStream is try getApplicationContext setWallpaper bmd catch

随机推荐

  • 准备语句将逗号分隔值传递给存储过程参数

    我无法将查询移动到存储过程中 我需要将逗号分隔的字符串传递给参数yr model no两个人IN条款 我已经阅读了一些线程并决定使用准备语句 原始查询可以很好地获取多行 但是在存储过程中 当我用call load things 128394
  • Rails 中带有回退功能的动态命名空间控制器

    我对新的 Rails 应用程序有一个有点奇怪的要求 我需要构建一个应用程序 其中所有路由都在多个命名空间中定义 让我解释一下 我想要一个应用程序 其中学校科目 数学 英语等 是命名空间 w math english each do subj
  • void 子例程返回什么?

    我刚刚对pluralsight 进行评估 并得到了以下问题 无效子程序返回什么 我的印象是无效子例程没有返回任何内容 但这不是提供的答案之一 多项选择题 Net 在后台返回值类型还是这个问题不正确 我得到的选择是 整数 布尔值 细绳 约会时
  • 任务并行库 - 如何使用 TaskContinuationOptions.OnlyOnCanceled 来触发延续?

    我正在尝试 NET 4 0 中的任务支持 特别是延续支持 我感到困惑的是我不知道如何继续TaskContinuationOptions OnlyOnCanceled标志设置为执行 如果我做一个ThrowIfCancellationReque
  • ElasticSearch 全文搜索

    我尝试在elasticsearch java api 中使用正则表达式运行全文搜索 我的过滤器是这样的 FilterBuilder qFilter FilterBuilders regexpFilter all text 但它只匹配一个单词
  • 使用 cancan 和 devise 授权 Rails 中未登录的用户行为

    Post hidden boolean 我希望登录用户可以看到所有帖子 而未登录用户只能访问隐藏字段为 false 的帖子 所以我在cancan的能力模型中这样写 if user signed in can read Post else c
  • 在 lua 中使用相等运算符比较数字有多安全?

    在我的引擎中 我有一个用于脚本编写的 Lua VM 在脚本中 我写了这样的内容 stage stage 1 if stage 5 then end and objnum tonumber 5 if stage objnum 根据 Lua 来
  • Node.js:从 jpeg 图像到视频文件的实时转换

    我正在使用node js 并通过socket io 库接收实际上是jpeg 图像的数据块 这些图像是从远程网络摄像头捕获的实时视频帧 我被迫将视频作为 jpeg 帧进行流式传输 我正在寻找一种方法来动态转换视频文件 mpeg 4 或 mjp
  • 将 ASP.Net 5 Web 应用程序部署到 Azure 时如何删除现有文件

    我有一个 ASP Net 5 中的 Web 应用程序 其源代码位于 VS Team Services 中 使用 Team Services 构建系统 我想将其直接部署到 Azure 进行持续部署 我已按照此处的步骤操作 https msdn
  • 如何将 cin 和 cout 重定向到文件?

    我怎样才能重定向cin to in txt and cout to out txt 这是您想要做的事情的一个工作示例 阅读注释以了解代码中每一行的作用 我在我的电脑上用 gcc 4 6 1 测试了它 效果很好 include
  • 递归查询 LDAP 组成员资格

    我正在编写一个基于 MVC NET 4 0 的网站 该网站需要来自我的公司 LDAP 服务器的登录凭据 我的代码要求的是仅允许属于特定组的用户 例如 我可能正在寻找属于 企业 IT 组的用户 我的凭据可能属于 系统管理员 组 该组是 公司
  • Django 计算子查询中的行数

    我需要计算子查询中的行数 这是我的 sqlite 解决方案 class SQCount Subquery Count lines in subquery template SELECT count FROM subquery s count
  • 在 XSL 转换期间维护 XML 注释

    XML
  • TF-lite 模型测试失败并出现运行时错误

    我已经为 MNIST 分类创建了一个 TF lite 模型 我使用 TF 1 12 0 并在 Google Colab 上运行它 我想使用 TensorFlow Lite Python 解释器对其进行测试 如 https github co
  • 在 C#/.NET 中检测图像 URL

    有没有办法可以检测图像 URL 例如 http mysite com image jpg 但还有其他格式吗 我正在使用 C 和 NET 4 0 就像是 bool isImageUrl string URL edit我的意思是如果 URL 指
  • Matplotlib 颜色条和 WCS 投影

    我正在尝试编写一个函数来显示天文图像 顶部有一个颜色条 自动具有相同的 x 轴长度 我遇到了问题 因为当我尝试将勾号放在顶部时 它没有执行任何操作 它将勾号保留在颜色条的底部 以及颜色条的 y 轴上的勾号 我认为这可能是 x 轴的 WCS
  • 在 MVC 中拥有巨大的控制器或许多控制器更好?

    我们正在 ASP NET MVC 中构建一个相当大的 HR 应用程序 到目前为止 我们的控制器变得相当大 例如 我们有一个员工控制器 并且包含所有员工视图 个人信息 员工扣除额 家属等 每个视图都可能有多个操作或子视图 例如 CRUD 每个
  • 从非 UI 线程打开 Windows 窗体

    如何从非 UI 线程正确打开 Windows 窗体 var th new Thread gt var form new YourForm form FormClosing s e gt Application ExitThread form
  • 获取给定路径的文件ID

    有没有直接的方法通过给出路径来获取文件ID 例如 some folder deep inside file txt 我知道这可以通过递归检查文件夹的内容来完成 但简单的调用会更好 Thanks 我们目前不支持这一点 但在我们继续构建 v2
  • ACTION OPEN DOCUMENT TREE 仅返回空的最近文件夹

    我从之前的帖子中仔细复制了以下代码片段 它在模拟器和我的 Nexus 9 设备上都有效 在一定程度上 但是 我得到的只是一个空的 最近 文件夹 而且我从未到达写入文件的代码 我必须更改什么才能获得正确的文档树 private void te