語言

Context.GetExternalCacheDirs 方法

定義

回傳所有共享/外部儲存裝置上應用程式專屬目錄的絕對路徑,該應用程式可放置其擁有的快取檔案。

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

傳回

File[]

絕對路徑指向特定應用程式目錄。 有些個別路徑可能是 null 因為該共享儲存目前無法使用。 回傳的第一條路徑與 #getExternalCacheDir()相同。

屬性

備註

回傳所有共享/外部儲存裝置上應用程式專屬目錄的絕對路徑,該應用程式可放置其擁有的快取檔案。 這些檔案是應用程式內部的,使用者通常不會以媒體形式看到。

這類似 #getCacheDir() 於應用程式卸載時這些檔案會被刪除,但兩者有一些重要差異: <ul><li>平台並不總是監控共享儲存空間,因此可能不會自動刪除這些檔案。 應用程式應該總是管理該位置的最大空間。 目前平台只會在執行或 android.os.Build.VERSION_CODES#JELLY_BEAN_MR1 更新時刪除檔案,且 Environment#isExternalStorageEmulated(File) 回傳 true。 <li>共享儲存可能不一定隨時可用,因為使用者可以彈出可移除的媒體。 媒體狀態可用 檢查 Environment#getExternalStorageState(File)。 <李>:這些檔案沒有執行任何安全措施。 例如,任何持有的 android.Manifest.permission#WRITE_EXTERNAL_STORAGE 應用程式都可以寫入這些檔案。 </ul>

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

此處歸還的共享儲存裝置被視為裝置的穩定部分,包括保護蓋下的實體媒體槽。 回傳路徑不包含暫時性裝置,例如連接於手持裝置的 USB 隨身碟。

應用程式可能會將資料儲存在任何或所有退回的裝置上。 例如,應用程式可能會選擇將較大檔案儲存在空間最大(以 StatFs為單位)的裝置上。

呼叫應用程式在回傳路徑下讀寫檔案不需要額外權限。 在這些路徑之外,次級外部儲存裝置無法寫入存取。

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

Java 文件 android.content.Context.getExternalCacheDirs()。

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

適用於

另請參閱