言語

ContextWrapper.GetExternalCacheDirs メソッド

定義

アプリケーションが所有するキャッシュ ファイルを配置できるすべての外部ストレージ デバイス上のアプリケーション固有のディレクトリへの絶対パスを返します。

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

返品

File[]

アプリケーションが所有するキャッシュ ファイルを配置できるすべての共有/外部ストレージ デバイス上のアプリケーション固有のディレクトリへの絶対パスを返します。 これらのファイルはアプリケーションの内部にあり、通常はメディアとしてユーザーに表示されません。 これは、アプリケーションのアンインストール時にこれらのファイルが削除されるという点で getCacheDir() に似ていますが、いくつかの重要な違いがあります。プラットフォームでは、共有ストレージで使用可能な領域が常に監視されるとは限らないため、これらのファイルが自動的に削除されない可能性があります。 アプリは常に、この場所で使用される最大領域を管理する必要があります。 現在、ここでのファイルがプラットフォームによって削除されるのは、Build.VERSION_CODESで実行されている場合だけです。JELLY_BEAN_MR1以降で、Environment.isExternalStorageEmulated(File) は true を返します。 ユーザーがリムーバブル メディアを取り出すことができるため、共有ストレージが常に使用可能であるとは限りません。 メディアの状態は、Environment.getExternalStorageState(File) を使用して確認できます。 これらのファイルにはセキュリティは適用されません。 たとえば、Manifest.permission.WRITE_EXTERNAL_STORAGEを保持しているアプリケーションは、これらのファイルに書き込むことができます。 共有ストレージ デバイスがエミュレートされている場合 (Environment.isExternalStorageEmulated(File) によって決定された場合、その内容はプライベート ユーザー データ パーティションによってサポートされます。つまり、getCacheDir() によって返されるプライベート ディレクトリではなく、ここにデータを格納する利点はほとんどありません。 ここで返される共有ストレージ デバイスは、保護カバーの下の物理メディア スロットなど、デバイスの安定した部分と見なされます。 返されるパスには、ハンドヘルド デバイスに接続されている USB フラッシュ ドライブなどの一時的なデバイスは含まれません。 アプリケーションは、返されたデバイスの一部または全部にデータを格納できます。 たとえば、アプリでは、StatFs によって測定される、使用可能な領域が最も多いデバイスに大きなファイルを格納することを選択できます。 呼び出し元のアプリが、返されたパスの下のファイルを読み書きするために、追加のアクセス許可は必要ありません。 セカンダリ外部ストレージ デバイスでは、これらのパス以外の書き込みアクセスは使用できません。 異なる共有ストレージ メディアが挿入されると、返されるパスが時間の経過と同時に変化する可能性があるため、相対パスのみを保持する必要があります。 アプリケーション固有のディレクトリへの絶対パスである File[] を返します。 共有ストレージが現在使用できない場合、一部の個々のパスは null になる可能性があります。 返される最初のパスは、getExternalCacheDir() と同じです。

属性

注釈

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

Javaドキュメント。

適用対象