2014-03-12 99 views
3

我正在使用GenyMotion仿真器(link)。 我的應用程序需要下載並保存一些文件在SD卡中。這行代碼返回/storage/emulated/0/作爲外部存儲路徑:Genymotion中外部SD的默認路徑

String filePath = Environment.getExternalStorageDirectory().getAbsolutePath(); 

問題是,/storage/emulated/0/目錄不可寫,我不能保存下載文件這個文件夾中。當我查看DDMS文件資源管理器視圖時,/storage/emulated/路徑中沒有0文件夾,我無權手動創建目錄或在此處放置文件。

/mnt/shell/emulated/0/有目錄似乎是SD卡(它包含所有默認的安卓目錄,並且是可寫的),但不會由Environment.getExternalStorageDirectory().getAbsolutePath()方法返回。

爲什麼這個目錄是寫保護的? 準確的SD卡存儲位置在哪裏?

回答

-1

請看/mnt/sdcard文件夾。爲我的錄音應用程序工作。我能夠成功保存SD卡中的錄像。使用Environment.getExternalStorageDirectory().getPath()獲取sd卡的路徑。

+0

我也使用GenyMotion模擬器。 –

+2

好吧,萬歲的硬編碼信息...不。你怎麼看'Environment.getExternalStorageDirectory()'。問題是,爲什麼框架在實際設備上通常不會失敗的情況下返回錯誤或不可用的信息。 – Bondax

4

不在我的/ mnt/sdcard下。發現它在/ mnt/shell /模擬

+0

謝謝!在代碼中,getAbsolutePath()返回/ storage/emulated/0/...,但我無法通過ADM的文件瀏覽器找到它。感謝你的提示,我在mnt/shell/emulated/0 /中看到它。我相信你的答案是正確的。 – Hong