Share via


Context.GetExternalFilesDirs(String) 方法

定義

傳回應用程式在所有共用/外部儲存裝置上應用程式特定目錄的絕對路徑,應用程式可以在其中放置它擁有的永續性檔案。

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

參數

type
String

要傳回的檔案目錄類型。 可以是 null 檔案目錄的根目錄或子目錄的下列其中一個常數: android.os.Environment#DIRECTORY_MUSIC 、、 android.os.Environment#DIRECTORY_PODCASTSandroid.os.Environment#DIRECTORY_RINGTONESandroid.os.Environment#DIRECTORY_NOTIFICATIONSandroid.os.Environment#DIRECTORY_ALARMS 、、 android.os.Environment#DIRECTORY_PICTURES 或 。 android.os.Environment#DIRECTORY_MOVIES

傳回

File[]

應用程式特定目錄的絕對路徑。 某些個別路徑可能是 null ,如果該共用儲存體目前無法使用。 傳回的第一個路徑與 相同 #getExternalFilesDir(String)

屬性

備註

傳回應用程式在所有共用/外部儲存裝置上應用程式特定目錄的絕對路徑,應用程式可以在其中放置它擁有的永續性檔案。 這些檔案是應用程式內部的,通常不會向使用者顯示為媒體。

這就像 #getFilesDir() 在卸載應用程式時刪除這些檔案,不過有一些重要的差異: < ul >< li > 共用儲存體不一定可用,因為使用者可以退出抽取式媒體。 您可以使用 來檢查 Environment#getExternalStorageState(File) 媒體狀態。 <li > 沒有使用這些檔案強制執行的安全性。 例如,任何保存 android.Manifest.permission#WRITE_EXTERNAL_STORAGE 的應用程式都可以寫入這些檔案。 </ul>

如果共用儲存裝置 (模擬) 所決定 Environment#isExternalStorageEmulated(File) ,則其內容是由私人使用者資料分割所支援,這表示在這裡儲存資料,而不是 、 所 #getFilesDir() 傳回的私人目錄等沒有好處。

此處傳回的共用存放裝置會被視為裝置的穩定部分,包括保護涵蓋下的實體媒體位置。 傳回的路徑不包含暫時性裝置,例如連線到可攜式裝置的 USB 快閃磁片磁碟機。

應用程式可以在任何或所有傳回的裝置上儲存資料。 例如,應用程式可以選擇將大型檔案儲存在具有最可用空間的裝置上,如 所 StatFs 測量。

呼叫端應用程式不需要額外的許可權,才能在傳回的路徑下讀取或寫入檔案。 次要外部儲存裝置上的這些路徑以外的寫入權限無法使用。

如果插入不同的共用儲存媒體,傳回的路徑可能會隨著時間而變更,因此應該只保存相對路徑。

android.content.Context.getExternalFilesDirs(java.lang.String) JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

適用於

另請參閱