我试图找出 Android 设备的正确外部存储(具有更多空间的附加 sd卡)位置。我从不同的用户那里知道,位置并不总是相同的。该方法Environment.getExternalStorageDirectory
总是返回我mnt/sdcard
。
用户报告了以下变体:
- mnt/sdcard/tflash
- mnt/sdcard/external_sd
- mnt/sd卡
如何确定外部 sd 卡的真实位置?
我试图找出 Android 设备的正确外部存储(具有更多空间的附加 sd卡)位置。我从不同的用户那里知道,位置并不总是相同的。该方法Environment.getExternalStorageDirectory
总是返回我mnt/sdcard
。
用户报告了以下变体:
如何确定外部 sd 卡的真实位置?
Environment.getExternalStorageState() returns path to internal SD mount point like "/mnt/sdcard"
不,Environment.getExternalStorageDirectory()
是指设备制造商认为是“外部存储”的任何东西。在某些设备上,这是可移动媒体,例如 SD 卡。在某些设备上,这是设备上闪存的一部分。在这里,“外部存储”是指“安装在主机上时可通过 USB 大容量存储模式访问的东西”,至少对于 Android 2.x 及更高版本。
But the question is about external SD. How to get a path like "/mnt/sdcard/external_sd" (it may differ from device to device)?
如上所述,除了外部存储,Android 没有“外部 SD”的概念。
如果设备制造商已选择将外部存储设备作为板载闪存并且还具有 SD 卡,则您需要联系该制造商以确定您是否可以使用 SD 卡(不保证)以及规则的用途使用它,例如使用什么路径。
如何确定外部 sd 卡的真实位置?
=> Environment.getExternalStorageDirectory() 为您提供外部存储设备的确切位置。路径可能会有所不同,因为它取决于制造商的考虑。
例如:我在一些 HTC 设备上找到了/sdcard ,在一些三星设备上找到了/mnt/sdcard 。
Environment.getExternalStorageDirectory()
正确的方法也是如此。