2011-11-11 71 views
1

我的應用程序輪詢SDcard上的目錄,以查看用戶從Windows文件瀏覽器通過USB連接丟棄的新文件的外觀。當出現新文件時,我的應用程序會對其進行處理,然後將其刪除,但該文件仍會顯示在Windows文件資源管理器中。我知道該文件已經不存在了,因爲它不再出現在DDMS文件資源管理器中,並且我的輪詢器不會再次觸發。對於Android如何與Windows文件瀏覽器交互的任何見解都將不勝感激。我嘗試過使用MediaScannerConnectionClient,它可以幫助獲得編程創建的目錄,但不會讓文件消失。編程性刪除的文件仍然顯示在Windows資源管理器中

我在Acer Iconia A500上運行Android 3.2。我的電腦正在運行Windows XP。這些文件是.csv和.txt文件。我正在使用File.delete()刪除它們。

謝謝。

回答

0

如果刷新時文件不見了,可能只是因爲Windows不希望目錄從其下面更換,因此不檢查更改。

+0

如果我刷新,刪除的文件仍然顯示。如果我拔下USB,刷新Windows資源管理器,然後重新插入USB,文件仍然存在。但是,如果我軟重新啓動設備,文件不見了。這讓我覺得問題出在Android方面。 – user1042150

1

Android是一個基於Linux的操作系統,只有當最後一個文件句柄關閉時纔會刪除文件。儘管如此,文件名稱可能會早一點消失。

在Windows上,打開文件句柄意味着文件名仍然存在。所以Windows根本不希望文件像它那樣消失。

1

這是一個老問題,但上面的答案對我沒有什麼幫助,所以我嘗試了一些其他的東西,下面的東西適合我。 只要打電話給MediaScannerConnectionscanFile方法上要刪除的文件刪除之後:

File file = new File("..."); 
String absolutePathToFile = file.getAbsolutePath(); 
file.delete(); 

MediaScannerConnection.scanFile(context, new String[]{absolutePathToFile}, null, null); 

我猜測,掃描儀掃描的文件位置,未找到該文件並更新操作系統的文件索引或無論如何照顧使瀏覽器可見的文件。

相關問題