2014-02-16 5 views
0

Когда я снимаю изображение, он создает папку в галерее и помещает ее в эту папку. Но на загрузку (новая папка и картинки) требуется некоторое время, более или менее 1 минута. Почему это? Есть ли способ уменьшить время создания или просто автоматически создать эту папку и поместить в нее захваченные изображения после съемки?Автоматическое создание папки/изображения при захвате изображения

OnClick.. 

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); 

Intent intent_cam = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);      
File imagesFolder = new File(Environment.getExternalStorageDirectory() + File.separator + "App Photos"); 

if (!imagesFolder.exists()) {  

    imagesFolder.mkdirs();   
    File image = new File(imagesFolder, "App_" + timeStamp + ".png"); 
    Uri uriSavedImage = Uri.fromFile(image);   
    intent_cam.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);  
    getActivity().sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
      Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 
    startActivityForResult(intent_cam, 1);   
} 

else if (imagesFolder.exists()) { 

    File image = new File(imagesFolder, "App_" + timeStamp + ".png"); 
    Uri uriSavedImage = Uri.fromFile(image); 
    intent_cam.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage); 
    getActivity().sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
      Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 
    startActivityForResult(intent_cam, 1);  
} 
+0

Лучше вы можете выполнить проверку наличия папки в onResume(). – Rahul

+0

Пожалуйста, объясните, ** полностью и точно **, что означает «нагрузка» в «требуется некоторое время для загрузки». – CommonsWare

+0

@CommonsWare - появится в галерее. – speedsir

ответ

1

Вы можете использовать MediaScannerConnection иметь MediaStore просканировать файл. Кроме того, это зависит от реализации приложения галереи, которое вы не контролируете.

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