那麼SD卡狀態爲什麼時才能讀取呢,經過我的各種情況的實踐,大致如下:
SD狀態
MEDIA_MOUNTED SD卡正常掛載
MEDIA_REMOVED 無介質
MEDIA_UNMOUNTED 有介質,未掛載,在系統中刪除
MEDIA_BAD_REMOVAL 介質在掛載前被移除,直接取出SD卡
MEDIA_CHECKING 正在磁盤檢查,剛裝上SD卡時
MEDIA_SHARED SD卡存在但沒有掛載,並且通過USB大容量存儲共享,操作打開USB存儲
MEDIA_MOUNTED_READ_ONLY sd卡存在並且已掛載,但是掛載方式爲只讀
MEDIA_NOFS 介質存在但是爲空白或用在不支持的文件系統
MEDIA_UNMOUNTABLE 存在SD卡但是不能掛載,例如發生在介質損壞
通過上表可以看出,只有在SD卡狀態爲MEDIA_MOUNTED時/mnt/sdcard目錄纔是可讀可寫,並且可以創建目錄及文件。
檢查SD卡是否可讀寫
Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());
讀寫SD卡記得加下面這兩個權限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
生成一個文件或者目錄
File path = new File(Environment.getExternalStoragePublicDirectory("/home") + "/" + "tmp");
path.exists()
path.mkdirs()
for (File file : path.listFiles())
{
file.delete();
}
http://blog.csdn.net/yuzhiboyi/article/details/8645730
時間:
起草於 2015-10-14