将content:// uri转换为文件路径

问题描述 投票:1回答:1

由于内容标记,我在将uri转换为路径时遇到问题。所以我试图从Android存储中选择任何文件类型,并且我能够选择一个文件,但是当我抓取数据并尝试将其转换为字符串路径时,我的应用程序崩溃了。

我转换uri的代码看起来像

String path = data.getData().getPath();

我环顾四周,有人说使用内容提供商和内容解析器,但我不知道如何使用它们。任何帮助都会非常感谢。

显示/上传到s3存储桶。当我的意思是显示它时,我的意思是,如果它是一张照片或视频来显示它,如果它是一个音频文件,我希望能够播放它和其他文件一样,如PDF等。

android filesystems
1个回答
0
投票

此方法将Path作为String返回

private String getPath(Uri uri) {

            String[] projection = { MediaStore.Images.Media.DATA };
            Cursor cursor = getContentResolver().query(uri, projection, null, null,null);

            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();

            return cursor.getString(column_index);
        }
© www.soinside.com 2019 - 2024. All rights reserved.