获取android4.0版本sdcard路径示例
更新时间:2014年03月10日 09:44:09 作者:
自从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
相关文章
Android自定义View 使用PathMeasure简单模仿系统ProgressBar(四)
这篇文章主要为大家详细介绍了Android自定义View,使用PathMeasure简单模仿系统ProgressBar,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-03-03Android打包篇:Android Studio将代码打包成jar包教程
这篇文章主要介绍了Android打包篇:Android Studio将代码打包成jar包教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-03-03Android AsyncTask 后监听异步加载完毕的动作详解
这篇文章主要介绍了Android 使用AsyncTask 后监听异步加载完毕的动作的相关资料,需要的朋友可以参考下2016-11-11Android Studio三方引用报错但是项目可以运行的解决方案
今天小编就为大家分享一篇关于Android Studio三方引用报错但是项目可以运行的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-03-03
最新评论