2

我正在寻找一种方法来查找 SD 卡上的图像,或者至少是相机拍摄的图像。

理想的解决方案是获取图像的文件路径或 URI 集合。我猜你可以通过 MediaStore 做到这一点,我只是不知道怎么做。

谢谢

4

1 回答 1

4

在查看了更多 MediaStore 示例后,我想出了这个,它完成了工作。

protected ArrayList<Uri> GetImageList(boolean getThumbs) 
{       
    ArrayList<Uri> images = new ArrayList<Uri>();
    String columnType;  
    Uri contentType;                
    String[] columnNames;

    if (getThumbs)
    {
         columnType = MediaStore.Images.Thumbnails._ID;
         contentType = MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI;
    }
    else
    {
        columnType = MediaStore.Images.Media._ID;
        contentType = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
    }

    columnNames = new String[]{columnType};             
    Cursor cursor = managedQuery(contentType, columnNames, null, null, null);       
    int columnIndex = cursor.getColumnIndexOrThrow(columnType);

    for(int i = 0; i < cursor.getCount(); i++)
    {
        cursor.moveToPosition(i);
        int id = cursor.getInt(columnIndex);
        images.add(Uri.withAppendedPath(contentType, "" + id));
    }

    return images;
}

它返回所有图像的 Uri 或 sdcard 上所有图像的缩略图的 Uri。

于 2009-11-28T14:35:55.723 回答