40

我正在尝试开发一个“文档管理器”

我有必要访问从互联网、Gmail、其他邮件客户端、其他互联网来源下载的文件......

我想了解这些文件在 Android 上的确切存储位置:

1-如果有 SD

2- 如果没有 SD 卡

这样我就可以随时在我的应用程序中向用户展示它们。

非常感谢任何帮助。

4

2 回答 2

51

大多数设备都有某种形式的模拟存储。如果它们支持 sd 卡,则它们通常安装到/sdcard(或该名称的某些变体),通常符号链接到/storage类似的目录,/storage/sdcard0或者/storage/0 有时模拟存储安装到/sdcard,实际路径类似于 /storage/emulated/legacy。您应该可以用来获取下载目录。您最好使用 api 调用来获取目录。 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

由于文件系统和 sdcard 支持因设备而异。

有关更多信息,请参阅类似问题如何访问 android 中的下载文件夹?

通常,DownloadManager 处理下载,然后通过使用文件 id 从下载管理器请求文件的 uri 来访问文件,以获取文件所在的位置,这些位置通常位于 sdcard/real 或仿真中的某个位置,因为应用程序只能从某些位置读取数据在他们的数据目录之外的文件系统上,比如 sdcard

于 2013-08-22T14:28:32.523 回答
27

根据我的经验,我下载的所有文件internet,gmail都存储在

/sdcard/download

ics

/sdcard/Download

您可以使用它访问它

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
于 2013-08-22T14:30:03.443 回答