語言

Environment.ExternalStorageDirectory 屬性

定義

回傳主要的共享/外部儲存目錄。

public static Java.IO.File? ExternalStorageDirectory { [Android.Runtime.Register("getExternalStorageDirectory", "()Ljava/io/File;", "")] get; }
[<get: Android.Runtime.Register("getExternalStorageDirectory", "()Ljava/io/File;", "")>]
static member ExternalStorageDirectory : Java.IO.File

屬性值

外部儲存目錄的值。

屬性

備註

回傳主要的共享/外部儲存目錄。 若該目錄已被使用者掛載於電腦、已從裝置移除,或發生其他問題,可能目前無法存取。 你可以用 來判斷其目前狀態。#getExternalStorageState()

<em>注意:這裡不要被「外部」這個詞搞混。 這個目錄更適合被視為媒體/共享儲存。 它是一個能儲存相對大量資料的檔案系統,並且在所有應用程式間共享(不強制執行權限)。 傳統上這是一張 SD 卡,但它也可能作為內建儲存裝置,與受保護的內部儲存分離,並可掛載為電腦上的檔案系統。</em>

在擁有多位使用者的裝置上(如 UserManager所述),每位使用者都有自己隔離的共享儲存空間。 應用程式只能存取其所執行使用者的共享儲存空間。

在擁有多個共享/外部儲存目錄的裝置中,此目錄代表使用者將互動的主要儲存裝置。 次級儲存的存取可透過 Context#getExternalFilesDirs(String)、 Context#getExternalCacheDirs()、 Context#getExternalMediaDirs()及 。

應用程式不應直接使用此頂層目錄,以避免污染使用者的根命名空間。 任何對應用程式私有的檔案都應該放在由 回傳的 android.content.Context#getExternalFilesDir Context.getExternalFilesDir目錄中,系統會在應用程式被卸載後處理刪除該目錄。 其他共享檔案應被放置在由 返回 #getExternalStoragePublicDirectory的目錄中。

寫入此路徑需要權限 android.Manifest.permission#WRITE_EXTERNAL_STORAGE ,從 開始 android.os.Build.VERSION_CODES#KITKAT讀取權限也需權限 android.Manifest.permission#READ_EXTERNAL_STORAGE ,且若持有寫入權限,該權限會自動授予。

從 開始 android.os.Build.VERSION_CODES#KITKAT,如果你的應用程式只需要儲存內部資料,可以考慮使用 Context#getExternalFilesDir(String)、 Context#getExternalCacheDir()或 Context#getExternalMediaDirs(),這些都不需要讀取或寫入權限。

此路徑在不同平台版本間可能有所不同,因此應用程式應僅維持相對路徑。

以下是監控外部儲存狀態的典型程式碼範例:

{

Java 文件 android.os.Environment.getExternalStorageDirectory()。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

另請參閱