您的位置:首页 > 移动开发 > Android开发

android获取外置SD卡的路径

2016-03-31 23:47 411 查看
手机或平板,有内置SD卡和拓展的外置SD卡:

内置的路径为:

String sdcard_Path = Environment.getExternalStorageDirectory().getName();

外置的路径有点麻烦:

/**
* 外置SD卡的路径:exSd_Path
*/
public static String getDefaultExternalStoragePath() {
String exSd_Path = "";
String [] exPaths = new StorageList(MainActivity.contexts).getVolumePaths();
if (exPaths.length > 1) {
exSd_Path = exPaths[1];
}
return exSd_Path;
}
/*/mnt/sdcard
/mnt/extsd
/mnt/usbhost1*/

public class StorageList {
private Context mContext;
private Method method;
private StorageManager storageManager;

@SuppressLint("InlinedApi")
public StorageList(Context contexts) {
mContext = contexts;
if (mContext != null) {
storageManager = (StorageManager) mContext.getSystemService(Context.STORAGE_SERVICE);
try {
method = storageManager.getClass().getMethod("getVolumePaths", new Class[0]);
} catch (Exception e) {
}
}
}

public String[] getVolumePaths() {
String[] paths = null;

try {
paths = (String[]) method.invoke(storageManager, new Object[0]);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return paths;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: