並且需要在AndroidManifest.xml文件中添加外部存儲讀和寫的權限。
根據官方API文檔,接下來對android.os.Environment類做詳細介紹。
一、Environment類中提供了多個String類型的靜態常量用於標識外部存儲媒體的狀態。
public static final String MEDIA_BAD_REMOVAL 在解除掛載前存儲媒體已經被移除,常量值爲“bad_removal”
public static final String MEDIA_CHECKING 存儲媒體存在並在進行磁盤檢查,常量值爲“checking”
public static final String MEDIA_MOUNTED 存儲媒體已經掛載,並且掛載點可讀/寫,常量值爲“mounted”
public static final String MEDIA_MOUNTED_READ_ONLY 存儲媒體已經掛載,掛載點只讀,常量值爲“mounted_ro”
public static final String MEDIA_NOFS 存儲媒體存在,但空白或使用了不支持的文件系統,常量值“nofs”
public static final String MEDIA_REMOVED 存儲媒體不存在即被移除,常量值爲“removed”
public static final String MEDIA_SHARED 存儲媒體正在通過USB共享,常量值爲“shared”
public static final String MEDIA_UNMOUNTABLE 存儲媒體無法掛載,一種典型狀況是文件系統損壞,常量值爲“unmountable”
public static final String MEDIA_UNMOUNTED 存儲媒體沒有掛載,常量值爲“unmounted”
public static final String MEDIA_UNKNOWN未知存儲狀態,例如不支持的存儲路徑,常量值爲“unknown”
public static final String MEDIA_EJECTING 存儲媒體正在卸載過程中,常量值爲“ejecting”
注:以上存儲媒體的狀態均可通過方法getExternalStorageState()獲得。
二、Environment類中的數據域提供了Android標準目錄的路徑,以static string類型提供。
public static String DIRECTORY_ALARMS 系統提醒鈴聲(鬧鈴、警報...)存放的標準目錄。
public static String DIRECTORY_DCIM 相機拍攝照片和視頻的標準目錄。
public static String DIRECTORY_DOCUMENTS 存放用戶文件的標準目錄。
public static String DIRECTORY_DOWNLOADS 存放用戶下載內容的標準目錄。
public static String DIRECTORY_MOVIES 電影存放的標準目錄。
public static String DIRECTORY_MUSIC 音樂存放的標準目錄。
public static String DIRECTORY_NOTIFICATIONS 系統通知鈴聲存放的標準目錄。
public static String DIRECTORY_PICTURES 圖片存放的標準目錄。
public static String DIRECTORY_PODCASTS 系統廣播存放的標準目錄。
public static String DIRECTORY_RINGTONES 系統鈴聲存放的標準目錄。
三、構造器(constructor)
public Environment()
四、公有方法(public methods)
public static File getDataDirectory ()
獲得user data的目錄
public static File getDownloadCacheDirectory ()
獲得下載緩存內容的目錄
public static File getExternalStorageDirectory ()
獲得基本的共享或外部存儲器目錄。注:可以通過調用getExternalStorageState()方法類判斷共享或外部存儲器當前狀態,從而得知其是否可以被訪問。
public static File getExternalStoragePublicDirectory (String type)
獲得用於存儲特定類型文件的頂層共享或外部存儲器目錄。
public static String getExternalStorageState ()
獲得外部存儲器的當前狀態。
返回值爲 MEDIA_UNKNOWN,MEDIA_REMOVED,MEDIA_UNMOUNTED,MEDIA_CHECKING,MEDIA_NOFS, MEDIA_MOUNTED,MEDIA_MOUNTED_READ_ONLY,MEDIA_SHARED,MEDIA_BAD_REMOVAL,MEDIA_UNMOUNTABLE其中之一。
public static String getExternalStorageState (File path)
獲得共享或外部存儲器在給定路徑的當前狀態
public static File getRootDirectory ()
獲得存儲Android OS內核的系統分區的根目錄,退出爲只讀的。
public static String getStorageState (File path)
API 21中棄用,代替使用getExternalStorageState(File path)
public static boolean isExternalStorageEmulated ()
......
public static boolean isExternalStorageEmulated (File path)
....
public static boolean isExternalStorageRemovable (File path)
判斷共享或外部存儲媒體在給定的路徑是否是可移除的。
return true 如果存儲設備可以被移除(eg:SD card)
return false 如果存儲設備是內置存儲器或其他不可移除的設備
public static boolean isExternalStorageRemovable ()
判斷基本的共享或外部存儲媒體是否是可移除的。
return true 如果存儲設備可以被移除(eg:SD card)
return false 如果存儲設備是內置存儲器或其他不可移除的設備