使用带有 ACTION_GET_CONTENT 的 Google Drive 的 Android 打开文件

Lah*_*ima 5 android android-intent

我正在尝试在我的 android 应用程序中打开来自 Google Drive 的文件。这是我目前拥有的。

        Intent importIntent = new Intent(Intent.ACTION_GET_CONTENT);
        importIntent.setType("file/*");
        startActivityForResult(importIntent, ACTIVITY_REQUEST_CODE_IMPORT);
Run Code Online (Sandbox Code Playgroud)

这将打开一个“打开自”对话框,允许使用 Google Drive、下载和我的文件浏览器选择文件。我可以毫无问题地使用文件浏览器选择文件。但是 Google Drive 不允许我选择文件。Google Drive 中显示的所有文件都变灰且无法选择。当我尝试选择使用下载时也会发生同样的情况。

我该如何解决这个问题?如果我使用 importIntent.setType("*/*"),Google Drive 允许选择文件,但其他几个选项,包括联系人、图像出现在我不想要的“打开自”对话框中。

谢谢

gre*_*f82 1

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