Android Environment 類詳解

來源:互聯網
上載者:User

標籤:

Android應用開發中,常使用Environment類去擷取外部儲存目錄,在訪問外部儲存之前一定要先判斷外部儲存是否已經是可使用(已掛載&可使用)狀態,

並且需要在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 如果存放裝置是內建儲存空間或其他不可移除的裝置





Android Environment 類詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.