我尝试使用内容解析器的删除方法来删除图像文件。它显示它已被删除,但我在签入图像文件夹时没有看到任何不同。
int id = getLastImageId();
int deleted = getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
MediaStore.Images.Media._ID + "=?", new String[]{ Long.toString(id) } );
Log.i("", "total deleted rows:" + deleted);在logcat中,我可以看到被删除的行总数为1。您可以放心,getLastImageId方法是正确的。此外,我甚至尝试删除MediaStore表中的所有内容,但都没有效果。例如:
int id = getLastImageId();
int deleted = getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null, null);
Log.i("", "total deleted rows:" + deleted);在本例中,删除的行总数为834行,这是我手机中的所有内容,但图像仍然存在。我正在检查的图像在sdcard/DCIM/摄像机上
希望能得到你的帮助。
你好,德克斯特
发布于 2014-02-13 10:46:38
我认为您的代码只是从表MediaStore.Images.Media表中删除数据,而不是物理映像。
您可以查询MediaStore.Images.Media.DATA字段,该字段为您提供图像的绝对路径。
然后删除文件,就像删除普通文件一样。
https://stackoverflow.com/questions/21751152
复制相似问题