Android获取sd卡路径
来源:互联网 发布:淘宝星店是什么意思 编辑:程序博客网 时间:2024/05/22 13:03
Android中包括两个sd卡路径,一个是内置sd卡路径,一个是外置sd卡路径。由于Android手机系统的可定制性,每个厂商出厂的手机系统存在差异。获取到的sd卡路径也存在差异。所有的手机都支持内置sd卡,但是并不都支持外置sd卡。
内置sd路径
String sdCardPath = Environment.getExternalStorageDirectory().getAbsolutePath();
外置sd卡路径
/** * 获取外置SD卡路径 * @return 路径列表 */ public static List<String> getAllExtraSdcardPath() { List<String> sdList = new ArrayList<String>(); try { Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec("mount"); InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is); String line; BufferedReader br = new BufferedReader(isr); while ((line = br.readLine()) != null) { // 将常见的linux分区过滤掉 if (line.contains("secure") || line.contains("asec") || line.contains("system") || line.contains("cache") || line.contains("sys") || line.contains("data") || line.contains("tmpfs") || line.contains("shell") || line.contains("root") || line.contains("acct") || line.contains("proc") || line.contains("misc") || line.contains("obb")) { continue; } if (line.contains("fat") || line.contains("fuse") || line.contains("ntfs") || line.contains("extSdCard")) { String columns[] = line.split(" "); if (columns != null && columns.length > 1) { String path = columns[1]; if (path != null && !sdList.contains(path) && path.toLowerCase().contains("sd")) File file = new File(path); if (file.isDirectory()){//判断是否是文件夹 sdList.add(columns[1]); } } } } } catch (Exception e) { e.printStackTrace(); } return sdList; }
测试结果
该程序目前只在华为 GEM-703L和三星note3上测试过,测试结果为:
华为
内置:/storage/emulated/0 外置:/storage/sdcard1
三星
内置:/storage/emulated/0 外置:/storage/extSdCard
因为目前手头上只有这两个支持外置sd卡,其他型号手机没法测试。后续有机会测试的话,再更新。
0 0
- android获取sd卡路径
- Android获取sd卡路径
- android sd卡路径正确获取 双sd卡获取
- android sd卡路径正确获取 双sd卡获取
- android获取sd卡路径方法:
- android:获取sd卡路径方法
- Android中怎样获取SD卡路径
- android双SD卡路径获取
- Android 4.0获取外置SD卡 路径
- android 获取外置SD卡的路径
- android双SD卡路径获取
- android 手机获取外置SD卡路径
- android 获取加载的SD卡路径
- Android双SD卡路径获取
- android获取外置SD卡的路径
- Android 获取外置SD卡路径
- android获取外置SD卡路径
- Android获取内外SD卡路径
- Jquery下Ajax与PHP数据交换
- Java并发编程:线程池的使用
- Hadoop加zookeeper搭建高可靠集群
- TrinityCore BossAI
- GridView其实是一个table,这里使用js循环table,代码如下:
- Android获取sd卡路径
- p6spy详细教程
- substr,mb_substr,iconv_substr的区别
- 在openSUSE下使用Snapper实现快照…
- 黑马程序员---Java注解Annotations的详解以及使用实例
- 黑马程序员---Java SE 7引入的三个新特性
- 第十六周项目三 max带来的冲突(命名空间)
- 排序算法系列之希尔排序
- [BZOJ1699][Usaco2007 Jan]Balanced Lineup排队