Андроид:получение местоположений изображений

StackOverflow https://stackoverflow.com/questions/1810973

  •  06-07-2019
  •  | 
  •  

Вопрос

Я ищу способ найти изображения на SD-карте или хотя бы изображения, снятые камерой.

Идеальным решением было бы получить набор путей к файлам или URI для изображений.Я думаю, вы можете сделать это через MediaStore, но не могу понять, как это сделать.

Спасибо

Это было полезно?

Решение

Посмотрев больше примеров 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 всех изображений или Uri миниатюр всех изображений на SD-карте.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top