Intent.ACTION_GET_CONTENT与Google云端硬盘

我有以下意图:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("text/*"); startActivityForResult(intent, DBOpenHelper.REQUEST_CODE_RESTORE); 

意图允许用户从多个选项中select一个文本文件。 它与本地存储和Dropbox工作正常,在这两种情况下,我可以得到如下文件:

 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if ((requestCode == DBOpenHelper.REQUEST_CODE_RESTORE) && (resultCode == Activity.RESULT_OK)) { restoreFile = new File(data.getData().getPath()); restoreFileName = restoreFile.getName(); } } 

本地存储工作正常,Dropbox会将文件的本地副本复制到SD卡并返回正确的path。 问题是,如果用户从Google Drive中select文件。 当他们使用Google Drive时,data.getData()。getPath()会返回类似于“/ document / acc = 1; doc = 195”的内容,而不是将path返回到本地存储的文件。 如何让Google云端硬盘下载文件并返回path? 我想让用户从任何可用的文件存储选项中进行select。

Solutions Collecting From Web of "Intent.ACTION_GET_CONTENT与Google云端硬盘"