我正在尝试使用命令File.delete()从内部存储器(ASUS TF101)中删除一些文件或目录。但是,使用Android文件浏览器,我可以看到如何删除文件,但使用Windows资源管理器,他们仍然显示在那里。
我在添加文件时解决了类似的问题,只是创建了一个MediaScannerConection(并使用了scanFile方法)。
有谁知道如何解决这个问题?当然,重启设备是不可接受的,因为最终用户不喜欢这个“解决方案”。
答案 0 :(得分:2)
在此帖子中查看 manisha 的答案:Android file delete leaves empty placeholder in Gallery
在我的情况下,它运行正常,因为我正在保存照片,然后使用MediaScannerConnection扫描它,所以当扫描完成后,我有该文件的URI,然后我可以使用以下代码whitout问题。
getContentResolver().delete(imageUri, null, null);
希望这适合你。这似乎比通过向android系统发送意图强制SD卡重新安装更合适。
答案 1 :(得分:-1)
我遇到了同样的问题,但我找到了这个问题:
Android使用媒体表来处理文件。对文件进行更改时,必须更新此表。
试试这个:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
Google doc: http://developer.android.com/reference/android/content/Intent.html#ACTION_MEDIA_MOUNTED