【问题标题】:How to get path of media files in android如何在android中获取媒体文件的路径
【发布时间】:2020-12-29 15:56:17
【问题描述】:

我想要通过任何应用程序的共享意图共享的文件路径。我确实使用代码ShareCompat.IntentReader.from(this).getStream().getPath(); 获得了 zip、apk、pdf 等文件的路径。

但是我没有得到图像、视频和音频文件的路径我得到content://media/external/video/media/40666,如何获得这种类型文件的真实路径?

【问题讨论】:

  • 这是一个不错的内容方案 uri。使用它!

标签: android file


【解决方案1】:

如果你想要的只是路径,你可以使用下面的代码

public String getRealPathFromURI(Context context, Uri contentUri) {
    Cursor cursor = getContentResolver().query(contentUri, null, null, null, null);
    cursor.moveToFirst();
    String document_id = cursor.getString(0);
    document_id = document_id.substring(document_id.lastIndexOf(":")+1);
    cursor.close();

    cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,null
            , MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null);
    cursor.moveToFirst();
    String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
    cursor.close();

    return path;
}

它基本上使用他的ContentResolver来获取文件的数据。

您可以更改查询参数以获得您想要的。

或者你可以使用

getContentResolver().openInputStream(uri)

如果你想要整个文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 2021-01-29
    相关资源
    最近更新 更多