Android 如何使用DownloadManager在专用路径中保存文件?

Android 如何使用DownloadManager在专用路径中保存文件?,android,android-download-manager,Android,Android Download Manager,我用DownloadManager下载了一些文件,我想把它们保存在没有人可以访问的地方,我的意思是它们是私有的,只有我的应用程序可以访问它们,我希望卸载我的应用程序后它们会被删除。但是根据我的搜索,DownloadManager可以将文件保存在SD卡中,这样每个人都可以看到我的文件。 有人能告诉我该怎么做吗?您可以使用内部存储路径在内部保存数据,当您的应用卸载时,数据将被删除 String dir = getFilesDir().getAbsolutePath(); 您可能应该使用: requ

我用
DownloadManager
下载了一些文件,我想把它们保存在没有人可以访问的地方,我的意思是它们是私有的,只有我的应用程序可以访问它们,我希望卸载我的应用程序后它们会被删除。但是根据我的搜索,DownloadManager可以将文件保存在SD卡中,这样每个人都可以看到我的文件。
有人能告诉我该怎么做吗?

您可以使用内部存储路径在内部保存数据,当您的应用卸载时,数据将被删除

String dir = getFilesDir().getAbsolutePath();

您可能应该使用:

request.setDestinationInExternalFilesDir(context, DIRECTORY_DOWNLOADS, File.separator + folderName + File.separator + fileName);
其中request是您的下载管理器。request
此文件夹(sdcard/Android/data/your.app.package)可供用户访问,但在图库中不可见(未通过媒体扫描仪扫描),只能使用文件管理器访问。此外,当您的应用程序被删除时,此文件夹将被删除。

它将转到sdcard,每个人都可以看到this@MaryamgetFileDir()返回应用程序的私有内部存储。但是,此答案没有指定如何(甚至是否)将该路径传递到DownloadManager。是的,我知道,但我不希望文件管理器可以访问此文件夹。因为DownloadManager运行的进程与应用程序不同,它无权写入应用程序的内部存储。您应该实现自己的下载管理器或使用类似于以下的库: