Сохранение изображения, аудио и видео на SD-карту

У меня проблемы с пониманием, как сохранить файлы на SDCard. Для своего класса камеры я делаю снимок, а затем создаю новый каталог для его сохранения. Он создает папку, но изображение не находится в папке? пожалуйста помоги.

if (items[which].equals("Picture")) {

                            Intent cameraIntent = new Intent(
                                    MediaStore.ACTION_IMAGE_CAPTURE);
                            startActivityForResult(cameraIntent,
                                    PICTURE_ACTIVITY);

                            File imagesFolder = new File(Environment
                                    .getExternalStorageDirectory(),
                                    "SeccyPhotos");
                            imagesFolder.mkdirs(); // <----
                            File image = new File(imagesFolder, "image_001.jpg");
                            Uri uriSavedImage = Uri.fromFile(image);
                            cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
                                    uriSavedImage);
                        }

Я вызываю камеру, после того, как вы сделаете снимок, она должна быть сохранена в папку.

Изменить: видео будет то же самое, что камера?

        Intent cameraIntent = new Intent(
                                MediaStore.ACTION_VIDEO_CAPTURE);
                        startActivityForResult(cameraIntent,
                                PICTURE_ACTIVITY);

                        File videosFolder = new File(Environment
                                .getExternalStorageDirectory(),
                                "cangryVideos");
                        videosFolder.mkdirs(); // <----
                        File video = new File(videosFolder, "Video_001.3gp");
                        Uri uriSavedvideo = Uri.fromFile(video);
                        cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
                                uriSavedvideo);
                        startActivityForResult(cameraIntent,
                                PICTURE_ACTIVITY);

1 ответ

Решение

Ты звонишь startActivityForResult(cameraIntent, PICTURE_ACTIVITY); перед установкой URI файла изображения в cameraIntent,

Ваш код должен быть:

if (items[which].equals("Picture")) {
   Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

   File imagesFolder = new File(Environment.getExternalStorageDirectory(),
        "SecExPhotos");
   imagesFolder.mkdirs(); // <----
   File image = new File(imagesFolder, "image_001.jpg");
   Uri uriSavedImage = Uri.fromFile(image);
   cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,uriSavedImage);
   startActivityForResult(cameraIntent,PICTURE_ACTIVITY);
}

Это должно решить вашу проблему.

Другие вопросы по тегам