从Android设备获取正确的外部存储空间

mcf*_*oft 2 android

我试图弄清楚Android设备的正确外部存储(具有更多空间的额外SD卡)位置.我从不同的用户那里得知,这个位置并不总是一样的.该方法Environment.getExternalStorageDirectory总是回报我mnt/sdcard.

我从用户报告了以下变体:

  1. MNT/SD卡/ TFLASH
  2. MNT/SD卡/ external_sd
  3. MNT/SD卡

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

Roy*_*nto 6

Environment.getExternalStorageState() returns path to internal SD mount point like "/mnt/sdcard"
Run Code Online (Sandbox Code Playgroud)

不,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)?
Run Code Online (Sandbox Code Playgroud)

除了外部存储之外,Android没有"外部SD"的概念,如上所述.

如果设备制造商已选择将外部存储设备作为板载闪存并且还具有SD卡,则需要与该制造商联系以确定是否可以使用SD卡(不保证)以及规则是什么使用它,比如使用它的路径.