gpt4 book ai didi

android - Intent.ACTION_GET_CONTENT 与谷歌驱动器

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:05 25 4
gpt4 key购买 nike

我有以下 Intent :

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

Intent 允许用户从多个选项中选择一个文本文件。例如,它适用于本地存储和 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 卡并返回正确的路径。问题是,如果用户从 Google 云端硬盘中选择文件。当他们使用 Google Drive 时,data.getData().getPath() 会返回类似于:“/document/acc=1;doc=195”的内容,而不是返回本地存储文件的路径。如何让 Google 云端硬盘下载文件并返回路径?我想让用户从他们可用的任何文件存储选项中进行选择。

最佳答案

当用户选择文件时,Google 云端硬盘可能已将文件下载到本地,也可能未下载到本地。但是,在所有情况下,您都可以通过 getContentResolver().openInputStream(data.getData()) 访问文件的内容。 - 请注意,openInputStream() 也支持本地文件,并且可以而且应该在其他情况下使用。

关于android - Intent.ACTION_GET_CONTENT 与谷歌驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27771003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com