Share via


Context.GetExternalMediaDirs 方法

定義

傳回應用程式可放置媒體檔案之所有共用/外部儲存裝置上應用程式特定目錄的絕對路徑。

[Android.Runtime.Register("getExternalMediaDirs", "()[Ljava/io/File;", "GetGetExternalMediaDirsHandler")]
public abstract Java.IO.File[]? GetExternalMediaDirs ();
[<Android.Runtime.Register("getExternalMediaDirs", "()[Ljava/io/File;", "GetGetExternalMediaDirsHandler")>]
abstract member GetExternalMediaDirs : unit -> Java.IO.File[]

傳回

File[]

應用程式特定目錄的絕對路徑。 某些個別路徑可能是 null 目前無法使用該共用儲存體。

屬性

備註

傳回應用程式可放置媒體檔案之所有共用/外部儲存裝置上應用程式特定目錄的絕對路徑。 這些檔案會透過 掃描並提供給其他應用程式 MediaStore 使用。

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

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

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

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

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

已取代這個成員。 這些目錄仍存在並經過掃描,但建議開發人員移轉以直接將內容 MediaStore 插入集合中,因為任何應用程式都可以提供不需要任何許可權的新媒體 MediaStore ,從 開始 android.os.Build.VERSION_CODES#Q

android.content.Context.getExternalMediaDirs() JAVA 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。

適用於

另請參閱