2013-12-12 2 views
1

Фотографии были сохранены в Gallery по моей заявке, но Gallery не видит эти фотографии. Я использую диспетчер файлов, чтобы проверить существующие, и они есть! Я могу открыть их из файлового менеджера, но не Gallery.Сохраненные фотографии незаметны для галереи

код, который я использую, чтобы сохранить изображение:

public static void saveImg(long pid, ImageView picture, Context context) { 
     File file = new File(Environment.getExternalStorageDirectory() + "/Lackrosy/" + pid + ".jpeg"); 
     File dir = new File(Environment.getExternalStorageDirectory() + "/Lackrosy/"); 
     try { 
      if (!dir.exists()) 
       dir.mkdir(); 
      picture.buildDrawingCache(); 
      Bitmap bmap = picture.getDrawingCache(); 
      FileOutputStream out = new FileOutputStream(file); 
      bmap.compress(Bitmap.CompressFormat.JPEG, 100, out); 
      Log.d("palval", "Photo saved: " + file.getAbsolutePath()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
      Log.e("palval", e.toString()); 
      file.delete(); 
      Toast.makeText(context, "Image not saved", Toast.LENGTH_SHORT).show(); 
     } 
    } 

ответ

2

Вы должны послать широковещательный так галереи обновляет его самостоятельно.

 Intent mediaScanIntent = new Intent("android.intent.action.MEDIA_SCANNER_SCAN_FILE"); 
     File f = new File(image_file_path); 
     Uri contentUri = Uri.fromFile(f); 
     mediaScanIntent.setData(contentUri); 
     sendBroadcast(mediaScanIntent); 

Edit 1: У вас есть все, что здесь: http://developer.android.com/training/camera/photobasics.html

Вы можете загрузить пример, его единственный код я обнаружил, что работал на всех телефонах с фотосъемки, хранения в моем желаемом месте и показ в галерея ...

, но некоторые телефоны будут иметь дубликаты в галерее, как HTC Desire C ...

+0

нужно ли мне предыдущий код для сохранения изображения или просто заменить его на этом? – Val

+0

Ну, вы сказали, что ваш код работал, сохраняя изображение в нужном месте, поэтому он должен работать нормально. Просто добавьте трансляцию после сохранения файла. – JanBo

+0

Теперь все работает нормально. Спасибо. – Val

Смежные вопросы