Android的Environment.getExternalStorageState的使用


1.sd狀態

sd狀態 現象描述  /mnt/sdcard目錄是否存在 canRead返回 canWrite返回
MEDIA_MOUNTED  SD卡正常掛載 true true true
MEDIA_REMOVED 無介質   true false false
MEDIA_UNMOUNTED 有介質,未掛載,在系統中刪除       true false false
MEDIA_BAD_REMOVAL 介質在掛載前被移除,直接取出SD卡 true false false
MEDIA_CHECKING 正在磁盤檢查,剛裝上SD卡時 true false false
MEDIA_SHARED SD卡存在但沒有掛載,並且通過USB大容量存儲共享,操作打開USB存儲 true false false
MEDIA_MOUNTED_READ_ONLY SD卡存在並且已掛載,但是掛載方式為只讀 - - -
MEDIA_NOFS  介質存在但是為空白或用在不支持的文件系統 - - -
MEDIA_UNMOUNTABLE  存在SD卡但是不能掛載,例如發生在介質損壞 - - -

 

2.讀取SD卡狀態的用處

讀取SD卡狀態為MEDIA_MOUNTED是/mnt/sdcard目錄才能可讀可寫,讀取SD卡時一般會這樣寫:

String state;
String path;
state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)) {
  path = Environment.getEcternalStorageDirectory().getAbsolutePath();
}

讀寫SD卡的兩個權限:

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM