我的应用程序会轮询 SD 卡上的目录,以查找用户通过 USB 连接从 Windows 文件资源管理器放入的新文件的外观。当出现新文件时,我的应用程序会处理它,然后将其删除,但该文件仍然显示在 Windows 文件资源管理器中。我知道该文件已消失,因为它不再出现在 DDMS 文件资源管理器中,并且我的轮询器不会再次被触发。任何有关 Android 如何与 Windows 文件资源管理器交互的见解将不胜感激。我尝试过使用 MediaScannerConnectionClient,它有助于显示以编程方式创建的目录,但不会使文件消失。
我在 Acer Iconia A500 上运行 Android 3.2。我的电脑运行的是 Windows XP。这些文件是 .csv 和 .txt 文件。我正在使用 File.delete() 来删除它们。
谢谢。
最佳答案
这是一个老问题,但是上面的答案对我来说并没有真正的帮助,所以我尝试了一些其他的东西,以下内容对我有用。
删除文件后,只需对要删除的文件调用 MediaScannerConnection
的 scanFile
方法即可:
File file = new File("...");
String absolutePathToFile = file.getAbsolutePath();
file.delete();
MediaScannerConnection.scanFile(context, new String[]{absolutePathToFile}, null, null);
我猜测扫描仪扫描文件位置,没有找到该文件并更新操作系统的文件索引或任何使文件对资源管理器可见的内容。
关于android - 以编程方式删除的文件仍然显示在 Windows 资源管理器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8097768/