格式化一张SD卡,流程分两步
- 获取该SD卡插入后生成的VolumeInfo
- 调用StorageManager的format方法
安卓系统是基于LINUX系统的,LINUX系统支持ext格式和vfat格式(vfat就是fat格式一家,从fat16到exfat都有)。
关于挂载,一张SD卡的状态有很多种,这里给出VolumeInfo定义的状态(它其实是Vold中定义的):
//插上了,可以挂载,但还没挂载上
public static final int STATE_UNMOUNTED = IVold.VOLUME_STATE_UNMOUNTED;
//正在检查。检查完之后会告诉我们是否可挂载
public static final int STATE_CHECKING = IVold.VOLUME_STATE_CHECKING;
//已挂载
public static final int STATE_MOUNTED = IVold.VOLUME_STATE_MOUNTED;
//已挂载,但设备只读
public static final int STATE_MOUNTED_READ_ONLY = IVold.VOLUME_STATE_MOUNTED_READ_ONLY;
//正在格式化。设备格式化完成后,会变为UNMOUNTED状态。这时候需要去再挂载一下
public static final int STATE_FORMATTING = IVold.VOLUME_STATE_FORMATTING;
//正在拔出。