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

时间:2017-12-26 18:51:15

标签: android filesystems

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

我转换uri的代码看起来像

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

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

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

1 个答案:

答案 0 :(得分: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);
        }