Atrix外部存储功能返回内部SD卡而不是可移动SD卡

时间:2011-10-13 00:43:36

标签: android

我有一个大的(50兆)下载,我想加载到SD卡,如果已安装。如果没有SD卡,我将其下载到内部存储。我检查两种情况下的可用空间。

我的代码在模拟器和我的Droid 2上运行得很好。我的Atrix是一个不同的故事。

摩托罗拉Atrix有一个内置的SD卡。它还可以有一个外部SD卡。目录是mnt / sdcard和mnt / sdcard-ext。检查外部存储状态时,始终返回Environment.MEDIA_MOUNTED。使用Environment.getExternalStorageState()时,始终返回Environment.MEDIA_MOUNTED。标准外部存储功能忽略可移动SD卡。

这是Atrix特有的吗?如果没有,其他设备是否使用sdcard-ext作为可移动SD卡?

我真的不想开始为特定设备编码......

2 个答案:

答案 0 :(得分:2)

Android要求每台设备都有一个容量至少为1GB的“共享”存储空间,它是开箱即用的,并且必须安装到/sdcard(或至少符号链接) /sdcard)。请参阅兼容性定义文档的第7.6.2节,其最新版本链接自here

因此,制造商可以选择A。将1GB或更高的SD卡与每个设备捆绑在一起,在设备的SD卡插槽中物理位于包装盒内,或B.分区内部存储(或包括辅助内部存储)提供至少1GB的“共享”存储,并将其安装在/sdcard。如果有一个真正的SD卡插槽,那么必须将其安装在其他地方。

许多制造商似乎选择B。

我认为谈论“外部存储”的API实际上是指CDD术语中的“共享存储”,而且由于这些要求,“外部”存储通常不是外部存储。

答案 1 :(得分:1)

是的,我知道SGS的“内部”存储使用mnt / sdcard,而辅助卡使用mnt / sdcard-ext。