У меня есть приложение, которое сохраняет изображения в каталог на SD-карте, которые я затем хочу получить с помощью MediaScanner, чтобы они отображались в галерее/библиотеке фотографий на устройстве.
Моя проблема
Мое текущее решение правильно работает на Galaxy S3, Galaxy Ace и Sony Xperia U. На чем оно не работает, так это на HTC Hero.
Единственный способ, которым он обновляет свой контент, — это перезапустить устройство, тогда как другие устройства подхватывают его, когда он добавляется из-за того, что я добавляю его в распознаватель контента. Мой код показан ниже.
ContentResolver cr = MyApplication.getAppContext().getContentResolver();
ContentValues values = new ContentValues();
values.put(Images.Media.TITLE,fileName);
values.put(Images.Media.DISPLAY_NAME,photoName);
values.put(Images.Media.DATE_TAKEN, currentPhoto.getTimestamp());
values.put(Images.Media.MIME_TYPE, "image/jpeg");
values.put(Images.Media.ORIENTATION, rotation);
values.put(Images.Media.LATITUDE,currentPhoto.getLatitude());
values.put(Images.Media.LONGITUDE, currentPhoto.getLongitude());
values.put(Images.Media.DATA,MainActivity.APP_GALLERY_STORAGE_PATH+File.separator+fileName);
cr.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Мой вопрос
Как я могу принудительно выполнить повторное сканирование или обновить MediaScanner, чтобы новые изображения, добавленные в этот каталог, отображались в фотогалерее HTC Hero без перезапуска устройства?
Заранее спасибо