ContextWrapper.ExternalCacheDir プロパティ

定義

プライマリ外部ファイルシステム上のディレクトリへの絶対パスを返します (つまり、アプリケーションが所有するキャッシュ ファイルを配置できる ExternalStorageDirectory のどこかにあります)。

public override Java.IO.File? ExternalCacheDir { [Android.Runtime.Register("getExternalCacheDir", "()Ljava/io/File;", "GetGetExternalCacheDirHandler")] get; }
[<get: Android.Runtime.Register("getExternalCacheDir", "()Ljava/io/File;", "GetGetExternalCacheDirHandler")>]
member this.ExternalCacheDir : Java.IO.File

プロパティ値

アプリケーションが所有するキャッシュ ファイルを配置できるプライマリ共有/外部ストレージ デバイス上のアプリケーション固有のディレクトリへの絶対パスを返します。 これらのファイルはアプリケーションの内部にあり、通常はメディアとしてユーザーに表示されません。 これは、アプリケーションのアンインストール時にこれらのファイルが削除されるという点で getCacheDir() に似ていますが、いくつかの重要な違いがあります。プラットフォームでは、共有ストレージで使用可能な領域が常に監視されるとは限らないため、これらのファイルが自動的に削除されない可能性があります。 アプリは常に、この場所で使用される最大領域を管理する必要があります。 現在、ここでのファイルがプラットフォームによって削除されるのは、Build.VERSION_CODESで実行されている場合だけです。JELLY_BEAN_MR1以降で、Environment.isExternalStorageEmulated(File) は true を返します。 ユーザーがリムーバブル メディアを取り出すことができるため、共有ストレージが常に使用可能であるとは限りません。 メディアの状態は、Environment.getExternalStorageState(File) を使用して確認できます。 これらのファイルにはセキュリティは適用されません。 たとえば、Manifest.permission.WRITE_EXTERNAL_STORAGEを保持しているアプリケーションは、これらのファイルに書き込むことができます。 共有ストレージ デバイスがエミュレートされている場合 (Environment.isExternalStorageEmulated(File) によって決定された場合、その内容はプライベート ユーザー データ パーティションによってサポートされます。つまり、getCacheDir() によって返されるプライベート ディレクトリではなく、ここにデータを格納する利点はほとんどありません。 Build.VERSION_CODES以降。KITKATでは、返されたパスの読み取りまたは書き込みにアクセス許可は必要ありません。呼び出し元アプリから常にアクセスできます。 これは、呼び出し元アプリケーションのパッケージ名に対して生成されたパスにのみ適用されます。 他のパッケージに属するパスにアクセスするには、Manifest.permission.WRITE_EXTERNAL_STORAGEまたはManifest.permission.READ_EXTERNAL_STORAGEが必要です。 (UserManager で説明されているように) 複数のユーザーを持つデバイスでは、各ユーザーは独自の分離された共有ストレージを持っています。 アプリケーションは、実行しているユーザーの共有ストレージにのみアクセスできます。 異なる共有ストレージ メディアが挿入されると、返されるパスが時間の経過と同時に変化する可能性があるため、相対パスのみを保持する必要があります。 ファイルを返します。この値は null の場合があります。

属性

注釈

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

Javaドキュメント。

適用対象