android - 以编程方式删除的文件仍然显示在 Windows 资源管理器中

标签 android windows file explorer

我的应用程序会轮询 SD 卡上的目录,以查找用户通过 USB 连接从 Windows 文件资源管理器放入的新文件的外观。当出现新文件时,我的应用程序会处理它,然后将其删除,但该文件仍然显示在 Windows 文件资源管理器中。我知道该文件已消失,因为它不再出现在 DDMS 文件资源管理器中,并且我的轮询器不会再次被触发。任何有关 Android 如何与 Windows 文件资源管理器交互的见解将不胜感激。我尝试过使用 MediaScannerConnectionClient,它有助于显示以编程方式创建的目录,但不会使文件消失。

我在 Acer Iconia A500 上运行 Android 3.2。我的电脑运行的是 Windows XP。这些文件是 .csv 和 .txt 文件。我正在使用 File.delete() 来删除它们。

谢谢。

最佳答案

这是一个老问题,但是上面的答案对我来说并没有真正的帮助,所以我尝试了一些其他的东西,以下内容对我有用。 删除文件后,只需对要删除的文件调用 MediaScannerConnectionscanFile 方法即可:

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/

相关文章:

Android Webview 的 shouldOverrideUrlLoading 方法

c - 通过单个 tcp 连接多路复用多个 TCP 连接

windows - Windows的lua "stub"dll的用途是什么

c - 为什么在向后打印文本文件的程序中调用 fseek 时应使用偏移量 -2 而不是偏移量 -1?

java - 扫描多个文件头

android - SoftKeyboard 不允许在同一个键上使用 keyOutputText 和 keyIcon

android - 我无法通过谷歌云消息在我的 Android 设备上接收消息?

android - 在 frameLayout 中放置一个按钮

wpf - 打开窗口 C# WPF

file - 为什么在Go中写入已删除的文件不会返回错误?