ljm*_*gui 6 android-intent google-drive-api storage-access-framework android-5.0-lollipop
我正在使用Android 5.0(API级别21)中引入的目录选择 API,以便用户选择一个目录来保存文件.
要选择我构建的目录并发送ACTION_OPEN_DOCUMENT_TREE意图,如下面的代码所示:
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
startActivityForResult(intent, REQUEST_CODE_OPEN_DIRECTORY);
我得到以下弹出窗口:

但是,如果我让用户使用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);
然后,我得到以下弹出窗口:

我在我的Android 5.0.1 Nexus Tab 10中测试它.为什么我使用ACTION_OPEN_DOCUMENT_TREE和ACTION_OPEN_DOCUMENT获得不同的根位置?也许只有内部存储文档提供程序实例支持子树选择?
我还希望允许用户使用ACTION_OPEN_DOCUMENT_TREE选择Google云端硬盘目录.
ACTION_OPEN_DOCUMENT_TREE和ACTION_OPEN_DOCUMENT引用都说:
调用时,系统将显示设备上安装的各种DocumentsProvider实例,让用户浏览它们.
非常感谢你提前
小智 5
我的结果与您的结果完全相同,即无法选择Google云端硬盘上的子树。
基于有关OPEN_DOCUMENT_TREE 的Android官方示例:系统显示所有支持子树选择的 DocumentsProvider 实例
因此,我认为原因是Google Drive DocumentsProvider实例尚不支持句柄OPEN_DOCUMENT_TREE。
| 归档时间: | 
 | 
| 查看次数: | 2039 次 | 
| 最近记录: |