在往手机SD卡中写入文件或文件夹时,首先要判断手机SD卡的挂载状态。
我们可以用Environment.getExternalStorageState()返回一个自定义字符串sdStatus,这个字符串就表示用于开发的手机现有的SD卡挂载状态。
在获得了手机挂载状态sdStatus后,就可以进行判断了。
判断语句可以用下句:
String sdStatus=Environment.getExternalStorageState();
if(!sdStatus.equals(android.os.Environment.MEDIA_MOUNTED)){
Toast.makeText(getBaseContext(), "SD卡挂载异常", Toast.LENGTH_SHORT).show();
}
此处需要注意的是,网上大多会给出用MEDIA_MOUNTED来判断。但判断的形式应该是sdStatus.equals(android.os.Environment.MEDIA_MOUNTED)。
这一点容易写错成sdStatus.equals("MEDIA_MOUNTED")。
此外,往SD卡中写入文件,需要用到权限配置。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
有人会说到高版本做的改变,Android4.4之后加入的
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/>
不过我现在还没发现必须要用到这句的地方,而上面两句中,第一句那个权限却是非常重要的。
(Android开发还在填坑,菜鸟刚刚入手,大家共同学习进步,欢迎批评指正。)