gpt4 book ai didi

android - 无法从android文件选择器获取文件的绝对路径

转载 作者:行者123 更新时间:2023-11-30 01:32:30 26 4
gpt4 key购买 nike

我正在使用以下代码调用文件选择器:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 1);

在 onActivityResult 方法中,我使用通过

获得的路径创建一个 File 对象
File file=new File(data.getData().getPath());

但我观察到 getPath() 方法返回的路径不被 File 类识别。结果,文件永远不会被读取。我在网上看到的解决方案很少,但似乎都不起作用。路径看起来像这样

content:/com.android.providers.media.documents/document/image%3A15651

我错过了什么吗?

正在测试三星 Galaxy Note 3 (Android 5.1)

最佳答案

I am invoking file chooser with the code below:

那不是文件选择器。它选择内容。

In the onActivityResult method I am creating a File object with the path obtained through

那从未可靠地工作过。它在 Android 4.4 及更高版本上相当不可靠。 data,在这种情况下,是一个 UriUri 指向内容,就像这个 Web 浏览器中的 URL 指向内容一样。 Uri 根本不必指向文件,更不用说您的应用可以访问的文件了。

要访问 Uri 表示的内容,请使用 ContentResolver。特别是,openInputStream() 将在 Uri 指向的内容上返回一个 InputStream

关于android - 无法从android文件选择器获取文件的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35563673/

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