android-intent - Android OPEN_DOCUMENT_TREE 意图根位置

标签 android-intent google-drive-api android-5.0-lollipop storage-access-framework

我正在使用 Directory Selection API,它是在 Android 5.0(API 级别 21)中引入的,用于让用户选择一个目录来保存文件。

要选择一个目录,我构建并发送一个 ACTION_OPEN_DOCUMENT_TREE 意图,如下面的代码所示:

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
startActivityForResult(intent, REQUEST_CODE_OPEN_DIRECTORY);

我得到以下弹出窗口:

enter image description here

但是,如果我让用户使用 ACTION_OPEN_DOCUMENT 意图选择文件:
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
startActivityForResult(intent, FILE_CHOOSER_ACTIVITY_REQUEST_CODE);

然后,我得到以下弹出窗口:

enter image description here

我正在我的 Android 5.0.1 Nexus Tab 10 中测试它。为什么我使用 ACTION_OPEN_DOCUMENT_TREE 和 ACTION_OPEN_DOCUMENT 获得不同的根位置?也许只有内部存储文档提供程序实例支持子树选择?

我还希望允许用户使用 ACTION_OPEN_DOCUMENT_TREE 选择 Google Drive 目录。

ACTION_OPEN_DOCUMENT_TREE 和 ACTION_OPEN_DOCUMENT 引用 say :

When invoked, the system will display the various DocumentsProvider instances installed on the device, letting the user navigate through them.



非常感谢您提前

最佳答案

我的结果和你的完全一样,就是无法在Google Drive上选择子树。

基于 Android official sample关于 OPEN_DOCUMENT_TREE:
系统显示所有 DocumentsProvider 支持子树选择的实例

所以我认为原因是 Google Drive DocumentsProvider 实例还不支持句柄 OPEN_DOCUMENT_TREE 。

关于android-intent - Android OPEN_DOCUMENT_TREE 意图根位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28663778/

相关文章:

android - Android浏览器Facebook重定向并不总是触发URL Intent

android - 如何从内置图库中检索 Picasa 照片?

google-apps-script - 无法使用 Drive API 在 Google Apps 脚本中获取文件

node.js - 错误: The permission type field is required when creating permission using Google Drive API

javascript - 使用 JavaScript 下载 Google Drive 文件

Android Lollipop 共享元素过渡闪烁/闪烁

java - 如何将带有附加功能的 Intent 传递给已经运行的 Activity

java - 共享可绘制文件夹中的 gif 文件

安卓 - "Parsing Data for android-21 failed"

android - 菜单项选择不改变textview背景