2012-02-16 155 views
1

我無法理解如何將文件保存到SD卡。對於我的相機類,我拍攝一張照片,而不是創建一個新目錄來保存它。它會創建文件夾,但圖像不在文件夾中?請幫忙。將圖像,音頻和視頻保存到SD卡

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

您的圖像文件URI設置爲cameraIntent之前調用startActivityForResult(cameraIntent, PICTURE_ACTIVITY);

你的代碼應該是:

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); 
} 

這應該解決您的問題。

+0

非常感謝 – 2012-02-17 05:44:55

+0

視頻會有類似的概念嗎? – 2012-02-17 06:25:47

+0

不知道。直到現在還沒有用過視頻。我會建議繼續嘗試,如果你還沒有。 – 2012-02-17 09:50:28