2010-10-14 109 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”中获取图像,我可以将其删除。 我认为这是最好的解决方案,因为我认为这是一个麻烦,试图让相机应用程序写入我的应用程序目录。

再次感谢。

相关问题