2016-09-28 90 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 –

相关问题