我正在努力开发一个“文档管理器”
我有必要访问从互联网,Gmail,其他邮件客户端,其他互联网资源下载的文件......
我想了解这些文件完全存储在Android上的位置:
1-如果有SD
2-如果没有SD卡
以便我可以随时在我的应用中向用户显示它们。
非常感谢任何帮助。
答案 0 :(得分:40)
大多数设备都有某种形式的模拟存储。如果他们支持SD卡,他们通常会挂载到/sdcard
(或该名称的某些变体),这通常符号链接到/storage
中的目录,如/storage/sdcard0
或/storage/0
模拟存储安装到/sdcard
,实际路径类似于/ storage / emulated / legacy。您应该可以使用获取下载目录。你最好使用api调用来获取目录。
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
由于文件系统和SD卡支持因设备而异。
查看类似问题以获取更多信息how to access downloads folder in android?
通常,DownloadManager处理下载,然后通过使用文件ID从下载管理器请求文件的uri来访问文件,以获取文件所在的位置,这些文件通常位于sdcard / real中的某个位置或模拟,因为应用程序只能读取数据来自其数据目录之外的文件系统上的某些位置,如sdcard
答案 1 :(得分:23)
根据我的经验,我从internet,gmail
下载的所有文件都存储在
/sdcard/download
on ics
/sdcard/Download
您可以使用
访问它Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);