2014-04-04 85 views
0

我的問題是關於在Android設備上存儲文件。我想要將在應用程序中創建的文件存儲到SD中(如果已安裝)。我遇到的問題是我使用的設備有一個不可移動的外部存儲單元。所有試圖找到SD卡的嘗試都會導致找到外部存儲器和保存在那裏的文件。是否有解決辦法,或者獲取外部存儲列表的方法,或直接保存到SD卡的方式?外部存儲區別

+0

嗨,如果你找到解決方案,那麼它仍然因設備而異。因此,只關注外部存儲 – User10001

回答

1

Android 4.4 offers getExternalFilesDirs()(注意複數名稱),它可以根據您所在的位置以及製造商如何選擇解釋Google的規則,爲您提供SD卡等可移動媒體上的位置信息。

在可移動媒體方面,Android 4.4+上的所有其他內容都無法寫入,除非大概通過在根設備上以超級用戶權限運行的應用程序。

在Android 4.3及更低版本上,除了standard external storage之外,沒有任何支持。您會在網上找到各種配方,試圖找到可能代表可移動媒體的其他分區。這些食譜不受支持,可能不適用於所有設備,並且不適用於許多Android 4.4+設備。

因此,我強烈建議您專注於標準的外部存儲。

+0

getExternalFilesDirs()似乎不被支持,我得到不兼容的源代碼我使用它的每種類型 – bossman

+0

@老闆:我不知道「不兼容的源代碼」是什麼意思。該方法已添加到API級別19中;您需要將該版本或更高版本作爲構建目標(例如,在Eclipse中,Project> Properties> Android)。 – CommonsWare

+0

雅我一直在探討這一點,並注意到API的水平相當高是否有相當的方法欺騙較低的API? – bossman