Как получить имя растрового изображения из MediaStore.Изображения

#android #android-widget

#Android #android-виджет

Вопрос:

Я получаю растровые изображения из MediStore, например

 MediaStore.Images.Thumbnails.getThumbnail(getApplicationContext().getContentResolver(),id,MediaStore.Images.Thumbnails.MICRO_KIND, null);
  

Мой вопрос в том, как получить имя каждого изображения (растрового изображения)?

Ответ №1:

Попробуйте приведенный ниже код, чтобы получить имя картинки и ее папки из внешнего хранилища

             String[] projection = new String[] { MediaStore.Images.Media._ID,
            MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
            MediaStore.Images.Media.DATE_TAKEN,
            MediaStore.Images.Media.DISPLAY_NAME };


    Uri images = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

    Cursor cur = managedQuery(images, projection, // Which columns to return
            "", // Which rows to return (all rows)
            null, // Selection arguments (none)
            MediaStore.Images.Media.BUCKET_DISPLAY_NAME // Ordering
    );

    Log.i("ListingImages", " query count="   cur.getCount()   "Columns ="
              cur.getColumnCount()   ""   cur.getColumnName(0)   ""
              cur.getColumnName(1)   ""   cur.getColumnName(2));

    if (cur.moveToFirst()) {


        int bucketColumn = cur
                .getColumnIndex(MediaStore.Images.Media.BUCKET_DISPLAY_NAME);


        int dpColumn = cur
                .getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME);

        do {

            Log.i("Folder Name",cur.getString(bucketColumn));
            Log.i("Pic Name ",cur.getString(dpColumn));
         } while (cur.moveToNext());
    }
    else
    {
        Log.i("Ooops","No Media Found");
    }
  

Комментарии:

1. Большое спасибо! Могу ли я выполнить фильтрацию в quesry, чтобы возвращать только изображения из указанной папки / sdcard / test_images?

2. попробуйте установить путь uri для определенного пути к папке и посмотреть .. или вы можете начать новый вопрос приятель..