2012-08-02 66 views
1

我试图使用命令File.delete()从内部存储器(ASUS TF101)中删除一些文件或目录。但是,使用Android文件资源管理器,我可以看到文件如何被删除,但使用Windows资源管理器,他们仍然显示在那里。Android删除文件MediaScannerConnection

添加文件时只是创建MediaScannerConection(并使用scanFile方法),我解决了类似的问题。

有谁知道如何解决这个问题?当然,重启设备是不可接受的,因为最终用户不会喜欢这个“解决方案”。

回答

-1

我有同样的问题,但我发现answear:

Android使用媒体表来处理文件。当您更改文件时,您必须更新此表。

试试这个:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

谷歌文档: http://developer.android.com/reference/android/content/Intent.html#ACTION_MEDIA_MOUNTED

+0

这不再工作,因为Android 4.4 KitKat,参考https://android.stackexchange.com/a/57915 – VCD 2018-01-03 01:05:07

2

MANISHA的回答了这一主题:Android file delete leaves empty placeholder in Gallery

在我而言,它工作得很好,因为我是节约一张照片,然后使用MediaScannerConnection扫描它,所以当扫描完成时,我有该文件的URI,然后我可以使用下面的代码whito问题。

getContentResolver().delete(imageUri, null, null); 

希望这适用于你。这似乎比通过向android系统发送意图强制SD卡重新安装更合适。

+0

非常感谢很多人..我已经尝试了很多方法,但他们都没有在android 4.2工作,但你的建议工作很好.. – Praveen 2015-02-13 15:01:24