Медиа-сканер не получает изображения на некоторых устройствах

У меня есть приложение, которое сохраняет изображения в каталог на 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 без перезапуска устройства?

Заранее спасибо


person StuStirling    schedule 23.10.2012    source источник


Ответы (1)


У меня была такая же проблема с устройствами Huawei. Попробуйте добавить

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

к манифесту. Это сработало для меня!

person Prachi    schedule 29.05.2013