Detailed Explanation of Android 6.0 Distinguishing U Disk from SD Card Equipment
- 2021-10-11 19:29:03
- OfStack
As shown below:
public static boolean isSdcardExists(Context context) {
StorageManager storageManager = StorageManager.from(context.getApplicationContext());
List<VolumeInfo> volumes = storageManager.getVolumes();
for (VolumeInfo volInfo : volumes) {
DiskInfo diskInfo = volInfo.getDisk();
if (diskInfo != null && diskInfo.isSd()) {
String sdcardState = volInfo.getEnvironmentForState(volInfo.getState());
if (Environment.MEDIA_MOUNTED.equals(sdcardState)) {
return true;
}
}
}
return false;
}
public static int isudiskExists(Context context) {
int num = 0;
StorageManager storageManager = StorageManager.from(context.getApplicationContext());
List<VolumeInfo> volumes = storageManager.getVolumes();
for (VolumeInfo volInfo : volumes) {
DiskInfo diskInfo = volInfo.getDisk();
if (diskInfo != null && diskInfo.isUsb()) {
String sdcardState = volInfo.getEnvironmentForState(volInfo.getState());
if (Environment.MEDIA_MOUNTED.equals(sdcardState)) {
num++;
}
}
}
return num;
}