2015-06-13 51 views
2

我想知道:所有Android設備和版本的存儲位置「存儲」是否已修復?

/storage/sdcard0//storage/sdcard1/所有的Android設備和版本的目錄位置可用和不變嗎? 也就是說,我可以在我的代碼中使用這個/storage/...嗎?

我想確定這是所有版本的根目錄是否可用。 !

例如:

File root = new File("/storage/sdcard1"); 
// or 
File root = new File("/storage/sdcard0"); // if UNMOUNTED , i know .. 

//File[] files = root.listFiles(); 
//for(File singlFile: files){ 
    // ...  
//} 

這段代碼是正確的?對於所有的Android移動設備? 感謝您的幫助。

+0

它不會工作。不同的版本和不同的移動製造商的android存儲根源不同。 – Chandrakanth

+0

@Chandrakanth可以使用'/ storage/..'從** api 1 **到** api 21 **嗎?是正確的 ? – grizzly

+0

不,你不能這樣使用...看到下面的答案 – Chandrakanth

回答

3

/storage/sdcard0 /和/ storage/sdcard1 /目錄位置爲所有Android設備和版本可用和不變嗎?

絕對不是。對於同一設備上的不同用戶,它們甚至不相同。

從未使用硬編碼根路徑。始終使用ContextEnvironment等方法獲取根路徑。

+0

謝謝,所以我如何使用'Context'和'Environment'來獲取內部存儲或手機內存的地方目錄 - >'/storage/sdcard1' ?? – grizzly

+0

@grizzly:我不知道「手機內存地方目錄」是什麼意思。根據Android SDK,您的存儲選擇是[內部存儲](https://commonsware.com/blog/2014/04/07/storage-situation-internal-storage.html),[外部存儲]( https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html),和(對*非常有限的程度)[可移動存儲](https://commonsware.com/博客/ 2014/04/09 /存儲情況,可移動storage.html)。在許多情況下,您可能會更好地服務於不直接使用文件系統,而是與提供商(例如'MediaStore')合作。 – CommonsWare

+0

感謝您的幫助我的兄弟(y) – grizzly

相關問題