Android获取外置SD卡路径
来源:互联网 发布:淘宝店铺装修布局管理 编辑:程序博客网 时间:2024/05/11 22:38
通过Environment.getExternalStorageDirectory()得到的是内置sd卡,外置sd卡只能通过其它方法获得。
比较可靠的方案是通过Linux命令,进入adb shell,输入 mount 或者 cat /proc/mounts 可得到系统挂载的存储。其中最后一行或者倒数第二行就是挂载信息,其中的第二个字段对应的就是path。信息如下面所示:
根据这个原理,我们来写获取外置sd卡路径的代码:
try { Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec("mount"); InputStream is = proc.getInputStream(); InputStreamReader isr = new InputStreamReader(is); String line; BufferedReader br = new BufferedReader(isr); while ((line = br.readLine()) != null) { // 将常见的linux分区过滤掉 if (line.contains("secure")) continue; if (line.contains("asec")) continue; if (line.contains("media")) continue; if (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"))) { String columns[] = line.split(" "); if (columns != null && columns.length > 1) { String path = columns[1]; if (path!=null&&!SdList.contains(path)&&path.contains("sd")) SdList.add(columns[1]); } } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
这里获取的是所有sd卡的路径集合,去掉内置sd卡路径,剩下的就是外置sd卡路径。
阅读全文
1 0
- Android 4.0获取外置SD卡 路径
- android 获取外置SD卡的路径
- android 手机获取外置SD卡路径
- android获取外置SD卡的路径
- Android 获取外置SD卡路径
- android获取外置SD卡路径
- android获取外置sd卡路径
- Android获取外置SD卡读写路径
- Android获取外置SD卡路径
- android 获取外置SD卡的路径(非挫版)
- android 获取外置SD卡的路径(非挫版)
- android 获取外置SD卡的路径(非挫版)
- android获取内置和外置SD卡路径
- android两行代码获取内外置sd卡路径
- android获取内置和外置SD卡路径
- android获取内置和外置SD卡路径
- android获取内置和外置SD卡路径
- android获取内置和外置SD卡路径
- firebird优化笔记
- CSS3 选择器、颜色与度量单位、文本、边框、背景
- 为centos7配置网络桥接
- javaEE注解@Decorator/@Delegate/@Observes/@Produces/@Alternative
- Android 电话管理器TelephonyManager,获取网络,SIM卡信息
- Android获取外置SD卡路径
- vim的使用教程
- C语言实现二叉排序树的相关操作
- 矩阵 A+B【水题】
- ESP8266 SDK开发篇(四)——UDP通信
- PSPNet(Pyramid Scene Parsing Network)
- 使用共享内存实现一个进程写文件,两个进程读文件
- mybatis诡异的异常!!!时好时坏!!!
- Jenkins显示reportng测试报告