ANDROID之路-Android_参考资料_内置存储卡and外置存储卡

Android 之内置存储卡and外置存储卡判断:

android系统自从升级到2.3以后,多一个功能,可以判断存储卡是否是可以卸载的。Environment.isExternalStorageRemovable(),通过此方法我们可以知道手机上的存储卡是手机自带的还是外边可插拔的SD卡,当然此种情况是指只有一个卡的情况。

但是现在国内的大多数手机都支持双存储卡:
1、即手机内置的有2G、4G或8G的内部存储卡,默认安装的应用与数据都会到这个卡中,用户不买可插拔的SD卡,也可使用。
2、手机的存储空间毕竟有限,所以手机也支持外置的SD卡,或者叫TF卡、扩展卡等。

那么这时候问题就来了,在程序中我们如何可以判断哪个路径对应的是内置存储卡,哪个对应的是外置存储卡。有人说用Environment.getExternalStorageDirectory()方法得到不就是SD卡吗,这种方法明显不适用的,尤其在4.0以后。恰恰相反,使用上面的方法得到的大多数是手机内部对应的SD卡(/mnt/sdcard 4.1系统以下,4.1直接变为/storage/sdcard0),下面我总结了一些较常见的外部SD卡的路径:
/mnt/sdcard2
/mnt/sdcard-ext
/mnt/sdcard/SD_CARD
/mnt/sdcard/extra_sd
/mnt/extrasd_bind
/mnt/sdcard/ext_sd
/storage/sdcard1

原文:
http://www.programgo.com/article/25843337750/;jsessionid=F4EA0338DD772447EFB8517095000707

如果我们想要读取或者向SD卡写入,这时就必须先要判断一个SD卡的状态,否则有可能出错。
先解释一下挂载:这是linux系统的术语,就是加载的意思,把sd卡划入系统相连,让系统能认到并读取sd卡的内容。
那么SD卡状态为什么时才能读取呢,经过我的各种情况的实践,大致如下:
ANDROID之路-Android_参考资料_内置存储卡and外置存储卡_第1张图片

通过上表可以看出,只有在SD卡状态为MEDIA_MOUNTED时/mnt/sdcard目录才是可读可写,并且可以创建目录及文件。

原文:
http://blog.csdn.net/zqs62761130/article/details/42464785

你可能感兴趣的:(android,存储)