Android 5.1 判断是否有SD卡

Android  5.1 判断是否有SD卡与其他方式有点不同,特此记录源码是怎么判断的。

首先在packages/apps/Settings/src/com/android/settings/deviceinfo/Memory.java 中

1、先初始化StorageManager : StorageManager.from(context);

2、获取storageVolumes  : final StorageVolume[] storageVolumes = mStorageManager.getVolumeList();

3、获取StorageVolume  :  for (StorageVolume volume : storageVolumes) {}

Android 5.1 判断是否有SD卡

4、 传递给StorageVolumePreferenceCategory中的mVolume

packages/apps/Settings/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java

Android 5.1 判断是否有SD卡

5、获取volume 的 state 

Android 5.1 判断是否有SD卡

6、 判断状态是否等于Environment.MEDIA_MOUNTED = "mounted";

最后,整理一下:

Android 5.1 判断是否有SD卡

 

Android 5.1 判断是否有SD卡