2

我试图找出 Android 设备的正确外部存储(具有更多空间的附加 sd卡)位置。我从不同的用户那里知道,位置并不总是相同的。该方法Environment.getExternalStorageDirectory总是返回我mnt/sdcard

用户报告了以下变体:

  1. mnt/sdcard/tflash
  2. mnt/sdcard/external_sd
  3. mnt/sd卡

如何确定外部 sd 卡的真实位置?

4

2 回答 2

6
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 卡(不保证)以及规则的用途使用它,例如使用什么路径。

于 2012-10-09T10:29:46.013 回答
0

如何确定外部 sd 卡的真实位置?

=> Environment.getExternalStorageDirectory() 为您提供外部存储设备的确切位置。路径可能会有所不同,因为它取决于制造商的考虑。

例如:我在一些 HTC 设备上找到了/sdcard ,在一些三星设备上找到了/mnt/sdcard 。

Environment.getExternalStorageDirectory()正确的方法也是如此。

于 2012-10-09T10:34:46.403 回答