使用带有ACTION_GET_CONTENT的Google云端硬盘的Android打开文件

时间:2014-11-06 18:03:16

标签: android android-intent

我正在尝试在我的Android应用中打开Goog​​le云端硬盘中的文件。这是我现在拥有的。

        Intent importIntent = new Intent(Intent.ACTION_GET_CONTENT);
        importIntent.setType("file/*");
        startActivityForResult(importIntent, ACTIVITY_REQUEST_CODE_IMPORT);

这将打开一个" Open From"允许使用Google云端硬盘,下载和我的文件浏览器选择文件的对话框。我可以使用我的文件浏览器选择文件没有问题。但Google云端硬盘并不允许我选择文件。 Google云端硬盘中显示的所有文件都显示为灰色且无法选择。当我尝试选择使用下载时也会发生同样的情况。

我该如何解决这个问题?如果我使用importIntent.setType(" * / *"),Google云端硬盘允许选择文件,但其他几个选项,包括“联系人”,“图片”显示在"打开来自"我不想要的对话框。

由于

2 个答案:

答案 0 :(得分:1)

您必须设置更具体的MIME类型或列表,但您必须记住,ACTION_GET_CONTENT意图无法使用从Android Kitkat开始的最新Google云端硬盘版本。要从云端硬盘获取文件,您必须使用Google Drive API或使用存储访问框架(SAF)。然而,使用SAF可能不是您想要的,因为它允许用户选择其他来源而不仅仅是Drive。

答案 1 :(得分:0)

试试这段代码

Intent importIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
importIntent.addCategory(Intent.CATEGORY_OPENABLE);
importIntent.setType("*/*");
startActivityForResult(importIntent, ACTIVITY_REQUEST_CODE_IMPORT);