带有Environment.getExternalStorageDirectory()的Android设备!= / mnt / sdcard /?

时间:2011-06-01 17:08:40

标签: android sd-card

当然在我的代码中我使用Environment.getExternalStorageDirectory()而不是hardwiring / mnt / sdcard /。但我刚刚意识到,当我通过交换格式的数据库转储从我的应用程序导出数据时,文件路径是/ mnt / sdcard / ...这可以解释我在用户日志中看到的一些奇怪错误。

我将在导入模块中进行适当的更改。但我很好奇 - 任何Android设备> 1.6有Environment.getExternalStorageDirectory()!= / mnt / sdcard /?

3 个答案:

答案 0 :(得分:7)

实际上,对于某些设备,getExternalStorageDirectory()会返回内部内存(内部SD卡)的本地化。可移动SD卡位于下方的安装点,通常为getExternalStorageDirectory()+"/sd"getExternalStorageDirectory()+"/external_sd"。不幸的是,没有标准,你不会知道你指的是什么类型的存储。

答案 1 :(得分:2)

我有一个我的应用程序的用户报告这个,他正在使用Andy 2.2 IIRC,但我不记得他正在使用什么设备。可以使用

找到路径
Environment.getExternalStorageDirectory().getPath()

我认为用户获得的路径是/ sdcard&不像我的HTC手机那样/ mnt / sdcard。

答案 2 :(得分:2)

没有。我没有看到任何带有sdcard的设备安装到不同的位置。我和大多数流行供应商玩过10多种不同的设备。

话虽如此,你不应该依赖这个事实。特别是如果你有这么简单的方法来获得外部存储的路径。