2015-06-13 31 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

相关问题