使用android中的MultipleImageSelect库从图库中获取所选图像的路径

时间:2015-09-22 13:29:24

标签: android path gallery

在我的项目中,我需要一种方法来从画廊中选择几个图像的路径。 我正在使用这个库MultipleSelectImages

显然工作正常,但在onActivityResult中我需要每个图像的路径数组,但我得到的结果是:

Paths: [com.darsh.multipleimageselect.models.Image@1e6d3057, com.darsh.multipleimageselect.models.Image@33824744]

...当我需要真实路径时(/storage/emulated/0/DCIM/Camera/20150426_110936.jpg)

阅读图书馆的文档没有找到解决方案。

这是onActivityResult方法:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == Constants.REQUEST_CODE && resultCode == RESULT_OK && data != null) {
        //The array list has the image paths of the selected images
        ArrayList<Image> images = data.getParcelableArrayListExtra(Constants.INTENT_EXTRA_IMAGES);

        Log.i("myLogs", "Paths:" + " " + images);
    }
}

...从图书馆导入“图像”

import com.darsh.multipleimageselect.models.Image;

我没有使用EXTRA_ALLOW_MULTIPLE,因为需要该应用程序在android api 16版本中运行

先谢谢。

1 个答案:

答案 0 :(得分:2)

尝试使用以下代码;

onActivityResult(); -

            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };


            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);

            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String imgPath = cursor.getString(columnIndex);
            cursor.close();