2011-10-13 111 views
2

我有一个大的(50兆)下载,我想加载到SD卡,如果安装。如果没有SD卡,我将它下载到内部存储器。我检查两种情况下可用的空间。Atrix外部存储功能返回内部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卡?

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

+0

Ooops。改变措辞。 getExternalStorage()总是返回'mnt/sdcard'。 –

+0

我决定让我下载到内置sdcard中。 50兆只是16演出的0.3%。这就是SGS和Atrix的内置,所以对我来说这似乎不成问题。我会把这个开放几天,看看有人有更好的主意...... –

+0

我很确定没有标准的Android API来访问真正的外部可移动SD卡。 – Karu

回答

2

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

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

很多厂商似乎选择B.

我想,谈的API“外部存储”的真正含义是在CDD的术语“共享存储”,而且由于这些要求的“外部”存储经常ISN”真的是外在的。

1

是的,我知道SGS使用MNT/SD卡以其“内部的”存储和MNT/SD卡-EXT其副卡。

+0

谢谢。我会将其添加到我的列表中... –

相关问题