Android如何获得Media Store Image的唯一uri?

时间:2014-07-15 09:46:56

标签: android path uri mediastore

我试图获取uri并在解析MediaStore图像的路径之后。 我这样做是为了得到uri:

Uri img_uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

使用此功能后,我在路径中转换uri:

public String getRealPathFromURI(Context context, Uri contentUri) {
    Cursor cursor = null;
    try { 
        String[] proj = { MediaStore.Images.Media.DATA };
        cursor = context.getContentResolver().query(contentUri,  proj, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    } finally {
        if (cursor != null) {
          cursor.close();
        }
    }
}

但结果是我有媒体存储的路径但是有第一个元素。 例如:/mnt/sdcard/Pictures/Boat.jpg。但我只想要/mnt/sdcard/Pictures/

请不要告诉我使用加入和分割,因为不是我想要的。

1 个答案:

答案 0 :(得分:1)

使用此:

String path = getExternalFilesDir(null).getAbsolutePath();

获取app子文件夹中的主目录,您可以在其中放置另一个目录,例如" Images"这样:

String path = getExternalFilesDir(null).getAbsolutePath() + "/Images";
File folder = new File(path);
if (!folder.exists()) {
   folder.mkdir();
}

现在就这样:

String path = getExternalFilesDir(null).getAbsolutePath() + "/Images";

您可以毫无问题地访问此文件夹。