Мне нужна небольшая помощь, чтобы понять проблему, с которой я столкнулся. У меня есть приложение, которое будет запрашивать все изображения на телефоне и отображать их в GridView. Я смог сделать это и заполнить список. Проблема в том, что я получаю доступ к списку и получаю информацию из элементов запроса. Курсор говорит мне, что элемент имеет путь к файлу
/ шоссе / SDCard / изображения / СМИ / file.jpg
но путь только
/ SDCard / изображений / СМИ / file.jpg
Это код, который я использовал для заполнения списка.
// Set up an array of the Thumbnail Image ID column we want
String[] projection = {MediaStore.Images.Thumbnails._ID};
// Create the cursor pointing to the SDCard
//returns the cursor that checks the sdcard for Thumbnail id's
cursor = managedQuery(
MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
projection,
// Which columns to return
null,
// Return all rows
null,
MediaStore.Images.Thumbnails.IMAGE_ID);
// Get the column index of the Thumbnails Image ID
columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
Элементы действительно отображаются, но путь неверен, когда я получаю их из другого курсора.
??????
Я немного растерялся.
Я использовал его в эмуляторе и на своем физическом устройстве. Та же проблема.
Я получаю ОШИБКУ, заявляющую, что путь НЕДЕЙСТВИТЕЛЕН, и программа упала
Есть ли способ заставить MediaStore запросить EXTERNAL_CONTENT_URI и указать нужный мне путь?
Кроме того, когда я использовал его на своем физическом телефоне, запрос, когда к первому каталогу на моей SD-карте с изображениями затем остановился, и способ для него запросить больше каталогов?