2016-09-28 93 views
3

我用DownloadManager下載了一些文件,我想將它們保存在沒有人可以訪問它們的地方,我的意思是它們是私人的,只是我的應用程序可以訪問它們,並且在卸載我的應用程序後它們會被刪除。但根據我的搜索DownloadManager可以保存SDCard中的文件,每個人都可以看到我的文件。 任何人都可以告訴我該怎麼辦?如何使用私人路徑下載DownloadManager的文件?

回答

0

您可以使用內部存儲路徑在內部保存數據並不會被刪除,當你的應用程序將得到卸載

String dir = getFilesDir().getAbsolutePath(); 
+0

它去SD卡和每個人都可以看到這 – Maryam

+0

@Maryam getFileDir()返回應用程序的私人內部存儲。但是,這個答案沒有指定如何(或者甚至是)該路徑可以傳遞給DownloadManager。 –

1

你或許應該使用:

request.setDestinationInExternalFilesDir(context, DIRECTORY_DOWNLOADS, File.separator + folderName + File.separator + fileName); 

哪裏請求您的下載管理器。請求 此文件夾(sdcard/Android/data/your.app.package)可供用戶訪問,但在畫廊中不可見(未由媒體掃描程序掃描),只能使用文件管理器進行訪問。此外,當您的應用被刪除時,該文件夾將被刪除。

+0

是的,我知道,但我不想讓文件夾可以被文件管理器 – Maryam

+1

訪問,因爲下載管理器運行在與應用程序不同的進程中,因此它沒有寫入應用程序內部存儲器的權限。 你應該實現你自己的下載管理器或使用像這樣的庫: https://github.com/majidgolshadi/Android-Download-Manager-Pro –

相關問題