С Android 6.0 и выше, не удалось скомпилировать следующий код.
Невозможно импортировать android .os.storage.VolumeInfo
Требуется получить volumeInfos из getVolumes () API.
Ниже приведен код.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
StorageManager sm = ctx.getSystemService(StorageManager.class);
List<VolumeInfo> volumeInfos = sm.getVolumes();
for (VolumeInfo vol : volumeInfos) {
if(vol.type==VolumeInfo.TYPE_PUBLIC
&& (vol.state==VolumeInfo.STATE_MOUNTED || vol.state==VolumeInfo.STATE_MOUNTED_READ_ONLY)){
String desc = sm.getBestVolumeDescription(vol);
boolean isSdCard = desc.toLowerCase().contains("sd");
list.add(new StorageInfo(vol.path, true, isSdCard, vol.fsUuid, vol.fsLabel, desc, isSdCard?0:usbCounter++));
}
}
return list;
}