Сохранение изображения, аудио и видео на SD-карту - PullRequest
1 голос
/ 17 февраля 2012

У меня проблемы с пониманием, как сохранить файлы на 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 Ответ

1 голос
/ 17 февраля 2012

Вы звоните 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);
}

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

...