2016-08-28 48 views
0

我使用Bluestacks來測試我的應用程序,因爲我沒有躺在機器人周圍。我打算寫一個文件到SDCard,但似乎無法找出它的路徑。我試過以下內容:/mnt/sdcard/ext_sd & /mnt/extSdCard但這些都沒有工作。SD卡在Android上的位置

回答

0

我已經試過如下:/mnt/sdcard/ext_sd & /mnt/extSdCard但 那些都工作過。

您不應硬編碼路徑。由於SD卡存儲位置或路徑因手機而異。在我的手機SD卡存儲位置是/storage/sdcard1

現在來到你的問題,

API級別19之前,有沒有官方的API method在SD卡存儲。但是,許多人可以使用非官方的圖書館或API來完成。

正式地,在API級別19(Android版本4.4 - Kitkat)的Context類中引入了一種方法(getExternalFilesDirs)。

File[] getExternalFilesDirs (String type) 

它返回所有 共享/外部存儲設備,其中應用程序可以將 它擁有持久的文件,應用程序特定目錄的絕對路徑。這些文件是應用程序的內部文件, ,對於用戶而言通常不可見爲媒體。

這意味着,它將返回路徑到兩種類型存儲 - 內部存儲器和Micro SD卡。一般來說,秒返回路徑將是微型SD卡(但並非總是)的存儲路徑。所以你需要用這個方法執行代碼來檢查它。

而不是硬編碼路徑,您應該在您的應用程序源代碼中使用此方法來獲取SD卡的位置。然後,將文件寫入該位置。

如果您想了解更多關於Android的存儲位置或路徑,請經過my other answer

+0

API 19之前,官方的方法是'/ sdcard'。您仍然可以在較新的手機上使用它(爲了向後兼容),它是符合實際位置的符號鏈接。 – StenSoft

+0

@StenSoft我的意思是在API 19之前沒有官方的API方法。無論如何,謝謝指出。我已經更新了我的答案,以避免這種困惑:) – AnV