获取android4.0版本sdcard路径示例
作者:
自从android4.0开始,谷歌为没有内存卡的手机模拟了一个SD卡,占用了原来的SD卡路径,并为真实的sd卡挂载到该目录的子目录,由于所挂载的目录并没有官方规范,所以命名会不同,只能通过搜索,下面是获取android4.0版本sdcard路径示例
复制代码 代码如下:
@SuppressLint("NewApi")//你懂的
private File findSDCARD() {
boolean b = Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState());
if (!b) return null;
File extFile = Environment.getExternalStorageDirectory();
File[] files = extFile.listFiles();
if (files == null)
return null;
for (File f : files) {
if (extFile.isDirectory()
&& f.canWrite()//sd卡一定是可写的.如果去掉这条件的话会得到隐藏的系统专用文件夹
&& Math.abs(extFile.getTotalSpace() - f.getTotalSpace()) > 2 * 1024 * 1024) {
//外部存储器与子目录的在未挂载的情况下有相同的存储容量.子目录是挂载的话.就会出现不同的存储容量
//2 * 1024 * 1024 是用来指出两存储器的存储容量大小差异 当然可以不用这么大 随意
return f;
}
}
return null;
}
//调用,14为android4.0
if (Build.VERSION.SDK_INT >= 14) {
File sd = findSDCARD(extFile);
}
您可能感兴趣的文章:
- Android StatusBar 透明化方法(不同的版本适配)
- Android获取手机型号/系统版本号/App版本号等信息实例讲解
- 解析Android获取系统cpu信息,内存,版本,电量等信息的方法详解
- android 版本检测 Android程序的版本检测与更新实现介绍
- Android通过aapt命令获取apk详细信息(包括:文件包名,版本号,SDK等信息)
- Android编程获取包名,版本信息及VersionName名称的方法
- Android最新版本开发环境搭建图文教程
- Android获取手机的版本号等信息的代码
- Android获取应用版本号与版本名称
- Android程序版本更新之通知栏更新下载安装
- 详解Android版本适配:9.0 Pie