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

Android 6.0 SD卡路径获取

2016-11-10 10:55 176 查看
Android6.0上会根据卡的种类和卡的挂载状态来动态生成挂载路径,因此不建议大家在按照以前的方法获取外置SD卡或者usbotg的路径,建议按照以下方法来获取:

StorageManagermStorageManager = StorageManager.from(context);

finalList<VolumeInfo> vols = mStorageManager.getVolumes();

VolumeInfosdcardVolume = null ;

for(VolumeInfovol : vols){

if(vol.getDisk() != null && vol.getDisk().isSd())sdcardVolume = vol;

//如果需要获取usbotg的路径,则改为

// if(vol.getDisk() != null &&vol.getDisk().isUsb()) usbotgVolume = vol;

}

if(sdcardVolume!= null) {

String sdcardPath = sdcardVolume.getPath()==null ? null :sdcardVolume.getPath().toString();

String sdcardState = sdcardVolume.getEnvironmentForState(sdcardVolume.getState());

if(sdcardState.equals(Environment.MEDIA_MOUNTED) && sdcardPath != null){

//外置SD卡已挂载,且路径有效

// sdcardPath外置SD卡的路径

}

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