使用ACTION_GET_CONTENT在Android上打开Google Drive中的文件

5
我正在尝试在我的安卓应用中从Google Drive打开一个文件。以下是我目前的代码:

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

这会打开一个“从哪里打开”对话框,允许使用Google Drive、下载和我的文件浏览器选择文件。我可以使用我的文件浏览器轻松选择文件。但是Google Drive不允许我选择文件。在Google Drive中显示的所有文件都变灰了,无法选择。当我尝试使用Downloads进行选择时,也是同样的情况。
我该如何解决这个问题?如果我使用importIntent.setType("*/*"),Google Drive就允许我选择文件,但是包括联系人、图像等多个选项出现在“从哪里打开”对话框中,而我并不想要这些选项。
谢谢
2个回答

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

-1

试试这段代码

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

importIntent.addCategory(Intent.CATEGORY_OPENABLE); throw ActivityNotFoundException - G. Ciardini

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接