2013-12-09 48 views
10

我在Environment.DIRECTORY_DOWNLOADS目錄下編寫(寫入,不下載,確切地說,它是我的應用程序的SQLite數據庫的轉儲)文件。我向Environment.DIRECTORY_DOWNLOADS寫入文件,爲什麼我無法通過下載應用程序看到它?

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 
File file = new File(path, "db.csv"); 

如果我在手機上瀏覽一個文件瀏覽器,我可以看到正確的

/storage/emulated/0/Download 

目錄中的文件,與其他下載在一起。

但是,如果我打開下載應用程序它不顯示...

什麼我需要做的,必須在下載應用中顯示的文件了?

+0

你好,你有沒有設法解決問題了嗎?我有完全相同的問題,如果你能分享這個解決方案,那將是非常棒的。謝謝。 – rontho

回答

6

下載應用程式僅顯示通過DownloadManager下載下載,目錄並不是所有的文件。

+0

如何在'Environment.DIRECTORY_DOWNLOADS'中找到我的下載文件? – mehmet

+0

@mehmet:使用DDMS。或者,使用USB電纜將設備的外部存儲裝置安裝到計算機上。 – CommonsWare

+0

不可以在機器人,編程 – mehmet

2

剛纔創建的文件比如像

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 
File file = new File(path, "db.csv"); 

,但尚未創建文件「db.csv」。使用

file.createNewFile(); 

創建文件「db.csv」真的...

+0

感謝Gopal,該文件已創建並顯示在目錄中,因爲我正在將它寫入'Environment.DIRECTORY_DOWNLOADS'目錄中,所以只有它不會顯示在下載應用程序中。 –

3

萬一有人不知道如何做到這一點,我找到了答案here

,讓系統顯示您在「下載」文件app,你需要明確通知下載管理器通過使用方法完成的下載addCompletedDownload()

通過使用它,系統將允許您的下載應用程序顯示您自己創建的文件。

希望它會有所幫助。

0

您的文件添加到列表下載:

DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); 
dm.addCompletedDownload("db.csv", "my description", false, "text/csv", file.getAbsolutePath(), file.length(), false); 
相關問題