簡體   English   中英

如何獲取android中媒體文件的路徑

[英]How to get path of media files in android

我想要通過任何應用程序的共享意圖共享的文件路徑。 我確實使用代碼ShareCompat.IntentReader.from(this).getStream().getPath(); .

但是我沒有得到圖像、視頻和音頻文件的路徑我得到content://media/external/video/media/40666 ,如何獲得這種類型文件的真實路徑?

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

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)

如果你想要整個文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM