2012-10-22 16 views
4

我正面臨有趣的問題。我發現,三星在自己的Android手機中有兩種存儲方式。移動品牌之間的Android外部存儲

第一:/SD卡 - 是內部存儲器和/ SD卡/ external_sd實際插入的存儲器卡

第二: /存儲/ sdcard0 - 是內部存儲器和/存儲/ ExtSdCard實際插入的存儲卡。

我的應用程序需要將數據存儲在SD卡中,所以我面臨問題,如何確定,哪個文件夾可能是SD卡鏈接或不是。你知道任何其他Android製造商(LG,宏達電,索尼)的情況,如何應對外部SD卡,以及它們如何在Android系統中可見?

+0

你應該接受你的答案或提供意見。 – auselen

回答

1

真的很簡單。當你考慮你的三星手機時,它是充當你的SD卡的內部存儲器。

,如果你正在尋找保存在SD卡的文件時,你必須停止硬編碼的路徑類似,

/mnt/sdcard.. and so. 

而使用,Environment.getExternalStorageDirectory();

這將路徑返回到你的SD卡直遠。

從那裏,加Environment.getExternalStorageDirectory()+File.separator+"your directoryname";

這適用於不是唯一的三星所有品牌。

+1

我的問題是,在三星,如果我沒有明確指定Environment.getExternalStorageDirectory +「/ external_sd」它將它保存到內存,而不是保存到SD卡。第二種情況也是如此。因此,對於三星,它必須是硬編碼 – Waypoint

+0

下一個問題是,是externalStorageDirectory我的手機返回仍然在LG,HTC,索尼和我必須檢測,如果它被掛載或storageDirectory更改,是否我已插入SD卡或不? – Waypoint

+0

@Andro Selva找到製造商提供的SD卡的路徑並不那麼簡單,OP已經特別詢問了製造商提供的SD卡插槽,在android中沒有API來查找外部SD卡插槽的路徑我不是在談論getExternalStorageDirectory()可能或可能不是真正意義上的外部卡 – Ahmed