語言

Context.GetExternalFilesDir(String) 方法

定義

回傳主共享/外部儲存裝置目錄的絕對路徑,該應用程式可放置其擁有的持久檔案。

[Android.Runtime.Register("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", "GetGetExternalFilesDir_Ljava_lang_String_Handler")]
public abstract Java.IO.File? GetExternalFilesDir(string? type);
[<Android.Runtime.Register("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", "GetGetExternalFilesDir_Ljava_lang_String_Handler")>]
abstract member GetExternalFilesDir : string -> Java.IO.File

參數

type
String

要回傳的檔案目錄類型。 可以是null檔案目錄的根,或是子目錄的下列常數之一:android.os.Environment#DIRECTORY_MUSIC、android.os.Environment#DIRECTORY_PODCASTS、android.os.Environment#DIRECTORY_RINGTONES、android.os.Environment#DIRECTORY_ALARMSandroid.os.Environment#DIRECTORY_NOTIFICATIONSandroid.os.Environment#DIRECTORY_PICTURES或。android.os.Environment#DIRECTORY_MOVIES

傳回

就是指向應用程式特定目錄的絕對路徑。 若目前沒有共用儲存空間,可能會回來 null 。

屬性

備註

回傳主共享/外部儲存裝置目錄的絕對路徑,該應用程式可放置其擁有的持久檔案。 這些檔案是應用程式內部的,通常不會以媒體形式對使用者可見。

這類似 #getFilesDir() 於這些檔案在應用程式卸載時會被刪除,但兩者有一些重要差異: <ul><li>共享儲存空間可能不一定隨時可用,因為使用者可以彈出可移除的媒體。 媒體狀態可用 檢查 Environment#getExternalStorageState(File)。 <李>:這些檔案沒有執行任何安全措施。 例如,任何持有的 android.Manifest.permission#WRITE_EXTERNAL_STORAGE 應用程式都可以寫入這些檔案。 </ul>

若共享儲存裝置被模擬(由 決定 Environment#isExternalStorageEmulated(File)),其內容由私人使用者資料分割區支援,這意味著將資料存放於此處與由 等回傳 #getFilesDir()的私有目錄相比,幾乎沒有太大益處。

從 開始 android.os.Build.VERSION_CODES#KITKAT,不需要任何權限來讀寫回傳路徑;呼叫的應用程式始終能存取。 這只適用於呼叫應用程式套件名稱所產生的路徑。 存取屬於其他套件的路徑,和/或android.Manifest.permission#WRITE_EXTERNAL_STORAGE是必須的android.Manifest.permission#READ_EXTERNAL_STORAGE。

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

若插入不同的共享儲存媒介,回傳路徑可能會隨時間改變,因此應僅保留相對路徑。

以下是一個典型的程式碼範例,用於操作應用程式共用儲存中檔案:

{

Java 文件 android.content.Context.getExternalFilesDir(java.lang.String)。

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

適用於

另請參閱