我正在尝试使用命令 File.delete() 从内部存储器 (ASUS TF101) 中删除一些文件或目录。但是,使用 Android 文件资源管理器我可以看到文件是如何被删除的,但使用 Windows 资源管理器它们仍然显示在那里。
在添加文件时,我解决了一个类似的问题,只是创建了一个 MediaScannerConection(并使用了方法 scanFile)。
有谁知道如何解决这个问题?当然,重新启动设备是不可接受的,因为最终用户不会喜欢这种“解决方案”。
我正在尝试使用命令 File.delete() 从内部存储器 (ASUS TF101) 中删除一些文件或目录。但是,使用 Android 文件资源管理器我可以看到文件是如何被删除的,但使用 Windows 资源管理器它们仍然显示在那里。
在添加文件时,我解决了一个类似的问题,只是创建了一个 MediaScannerConection(并使用了方法 scanFile)。
有谁知道如何解决这个问题?当然,重新启动设备是不可接受的,因为最终用户不会喜欢这种“解决方案”。
在此线程中查看manisha的答案: Android 文件删除在图库中留下空占位符
就我而言,它工作得很好,因为我正在保存一张照片,然后使用 MediaScannerConnection 扫描它,所以当扫描完成时,我有该文件的 URI,然后我可以使用以下代码来解决问题。
getContentResolver().delete(imageUri, null, null);
希望这对你有用。这似乎比通过向 android 系统发送意图来强制重新安装 SD 卡更合适。
我有同样的问题,但我找到了答案:
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