2011-10-13 187 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

謝謝。我會將其添加到我的列表中... –

相關問題