2010-10-14 112 views
2

我已經編寫了一個程序,使用Intent進行圖像捕捉以使用手機中的應用程序獲取照片。 使用MediaStore.EXTRA_OUTPUT,我得到一個圖像的URI,它被轉換爲一個路徑後得到類似於「/ external/images/media/NN」的地方,其中NN是照片的編號。如何刪除剛剛在Android程序中拍攝的照片

現在,在我的程序中,當我讀取並操作圖像後,我想刪除該圖像。

我該怎麼做?

(File image = new File(path); image.delete(); // returns false, so doesn't work) 

回答

0

您是否有可能未在您的應用中申請WRITE_EXTERNAL_STORAGE權限?這會導致刪除失敗。 (因爲這是一個單獨的應用程序,並且擁有自己的權限,所以相機無法寫入。)

也可能(但不可能)媒體文件夾只能由相機應用程序寫入,在這種情況下,您'想要在EXTRA_OUTPUT額外的調用相機的意圖中指定一個不同的期望目標,以便該文件將被寫入到您的應用程序的目錄中。事實上,無論如何,您可能都會這麼做,以避免使用私人資源混淆全球空間,即使您要立即刪除它們。

1

感謝您的回答。

我解決了閱讀這個答案,Problems saving a photo to a file

對我來說,它的工作原理上的英雄,即使在剪斷代碼註釋說,英雄的行爲不同。 現在我在「/sdcard/image.tmp」中獲取圖像,我可以將其刪除。 我認爲這是最好的解決方案,因爲我認爲這是一個麻煩,試圖讓相機應用程序寫入我的應用程序目錄。

再次感謝。

相關問題