【发布时间】:2012-12-08 06:10:16
【问题描述】:
我一直在谷歌搜索,但很难找到哪些制造商/型号使用 sdcard/外部存储的哪个路径。
- 我不是在谈论可以通过以下方式找到的内部存储路径:
Environment.getExternalStorageDirectory()
我知道getExternalStorageDirectory() 有时会指向某些设备上的外部 sdcard。
这是我找到的一些外部路径的常用路径(不确定哪个制造商使用哪个路径):
/emmc
/mnt/sdcard/external_sd
/mnt/external_sd
/sdcard/sd
/mnt/sdcard/bpemmctest
/mnt/sdcard/_ExternalSD
/mnt/sdcard-ext
/mnt/Removable/MicroSD
/Removable/MicroSD
/mnt/external1
/mnt/extSdCard
/mnt/extsd
/mnt/usb_storage <-- usb flash mount
/mnt/extSdCard <-- usb flash mount
/mnt/UsbDriveA <-- usb flash mount
/mnt/UsbDriveB <-- usb flash mount
这些是我通过谷歌搜索找到的。
我需要扫描整个内部 + 外部存储 + USB 闪存驱动器以查找某个文件。如果我缺少任何路径,请添加到上面的列表中。如果有人知道每个制造商使用的路径,请与我们分享。
【问题讨论】:
-
请注意,getExternalStorageDirectory() 不会返回“内部存储”,但它可能会返回一个内部存储,甚至可能是在内部存储中实现的虚拟分区,但访问权限与外部存储匹配存储概念。至于您的问题,您可以检查 /proc/mounts 但请注意,在某些最近的设备上,其他系统可能已写入的可移动媒体部分可能根本不再可供应用程序访问。
-
github.com/jow-ct/Environment2 代码有点德语,但它会尝试解析包含所有真实外部存储的
/etc/vold.fstab -
嗨 zapl,/etc/void.fstab 或 /etc/void.config 是查看外部存储位置的真正好地方。谢谢你。但是,Galaxy Nexus 没有两个文件,这没关系,因为它没有外部 micro-sd 插槽。但我担心每个设备都依赖 void.fstab 是稳定的。
-
@jclova 我想弄清楚同样的问题,因为您似乎已经对此主题进行了更多研究,您认为可以在这些路径上调用 android 媒体扫描仪吗?在我的情况下,媒体扫描器只有在提供 getExternalStorage() 时才会扫描
-
@Ahmed,对不起,我没有研究媒体扫描仪的行为。
标签: android path sd-card android-sdcard