26.2外部存储(ExternalStorage)
1并不总是可用的,当用户用数据线把手机和电脑相连,并选择USB存储模式时,APP不可以访问外部存储区域。
2 各APP都可以访问的。
3当用户卸载APP时,系统仅仅会删除外部存储区域根目录(getExternalFilesDir())下的相关文件。
4外部存储区域是在不需要严格的访问权限并且希望某些文件能够被其他APP所共享,或者是允许用户通过电脑访问时的最佳存储区域。
5读写外部存储需要权限。
6当移动设备连接到PC之后,如果开启USB存储模式与PC连接,这个时候外部存储是处于卸载状态的,APP不能对里面的文件进行操作。
7 APP对外部存储进行操作之前,需先检查外部存储的状态:
/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}
/* Checks if external storage is available to at least read */
public boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
return true;
}
return false;
}