2011-08-14 137 views
5

有沒有辦法使用相機,但只能暫時保存圖像?我用下面的代碼加載了相機,那麼我使用onActivityResult()來獲取拍攝的圖像(如果有的話......)啓動相機意圖,但不保存圖像

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

的問題是,當圖像被拍攝,它被保存到SD卡。

編輯

的目的是通過下面的代碼

String imagePath; 

imagePath = Environment.getExternalStorageState() + "/images/myimage.jpg"; 
File file = new File(imagePath); 
Uri outputFileUri = Uri.fromFile(file); 

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); 

當活動返回數據(onActivityResult)我使用

File imageFile = new File(imagePath); 
imageFile.delete(); 

Howver圖像不會被調用刪除。另外,如果我進入我的畫廊應用程序,圖像是有一個默認名稱(如image57465.jpg),我假設cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);實際上並沒有工作。

EDIT 2

事實上,該文件被保存到的SD卡,並正確刪除。但是,似乎縮略圖正在保存。 Ay的想法如何獲得縮略圖路徑,所以我可以刪除它後,我用它?

回答

5

那麼刪除文件(變量)的時候,你就不能刪除圖像當你完成使用它?我只是快速檢查了Camera API規範,並且我無法找到任何表明可以將圖像標記爲臨時圖像的任何內容。

嘗試以下操作:

public onActivityResult(int request, int result, Intent data) { 

    if(request == CAPTURE_IMAGE) { 

     if(result == RESULT_OK) { 

      /*Use the image in the way you want to here and save the path */ 

      //Delete the image 
      File image = new File(path); 
      image.delete(); 

     } 

    } 

} 

讓我知道,如果它送給你。

+0

'path'從哪裏來? – dotty

+0

我已更新我的代碼,請參閱上文。 – dotty

1

在捕獲&儲蓄,存儲的ImagePath的變量,一旦您的活動完成,然後從存儲

File mFile=new File(variable); 
mfile.delete(); 
+0

我已更新我的代碼,請你看一看。 – dotty

+0

取代此 imagePath = Environment.getExternalStorageState()+「/images/myimage.jpg」; 與 imagePath = getExternalStorageDirectory()+「/images/myimage.jpg」; 再試一次朋友 –

相關問題