Android 获取外置SD卡
2015-06-02 16:20
405 查看
由于现在的大部分Android手机自带了SD卡,所以用
一般获取的都是机身集成的SD卡路径,但是内置的SD卡存储较小,所以还需要获取外置的SD卡,但是由于Android的开源,不同的手机厂商对Android的外置卡的名称做了修改,
所以一下代码 不敢确定支持所有的Android系统都能够获取外置SD卡的正确路径。
本人使用三星P-600,P-601,T-320和联想TAB 2 A10-70F做了测试,获取的外置SD卡的路径均无问题。
Environment.getExternalStorageDirectory().toString();
一般获取的都是机身集成的SD卡路径,但是内置的SD卡存储较小,所以还需要获取外置的SD卡,但是由于Android的开源,不同的手机厂商对Android的外置卡的名称做了修改,
所以一下代码 不敢确定支持所有的Android系统都能够获取外置SD卡的正确路径。
本人使用三星P-600,P-601,T-320和联想TAB 2 A10-70F做了测试,获取的外置SD卡的路径均无问题。
private static StorageManager manager;
private static Method method;
public static String getExternalSdCard(Context context) {
manager = (StorageManager) context.getSystemService(Activity.STORAGE_SERVICE);
try {
method = manager.getClass().getMethod("getVolumePaths");
String[] paths = (String[]) method.invoke(manager);
String insideSdCard =Environment.getExternalStorageDirectory().toString();
if (insideSdCard.equals(paths[0])) {
File externalFile = new File(paths[1]);
if (!externalFile.exists()) {
BaseUtil.setAlertDialog(context, "外部存储卡不存在!");
return null;
}
return paths[1];
} else {
BaseUtil.setAlertDialog(context, "该机型无法获取外部存储!");
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories