2

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

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

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

4

2 回答 2

3

在此线程中查看manisha的答案: Android 文件删除在图库中留下空占位符

就我而言,它工作得很好,因为我正在保存一张照片,然后使用 MediaScannerConnection 扫描它,所以当扫描完成时,我有该文件的 URI,然后我可以使用以下代码来解决问题。

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

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

于 2013-01-03T17:27:18.030 回答
0

我有同样的问题,但我找到了答案:

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

于 2012-12-17T12:57:36.247 回答