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>Shared Storage は、ユーザーがリムーバブル メディアを取り出すことができるため、常に使用できるとは限りません。 メディアの状態は、 を使用して Environment#getExternalStorageState(File)確認できます。 <li>これらのファイルにはセキュリティは適用されません。 たとえば、保持しているアプリケーション android.Manifest.permission#WRITE_EXTERNAL_STORAGE は、これらのファイルに書き込むことができます。 </ul>

ここで返される共有ストレージ デバイスは、保護カバーの下の物理メディア スロットを含め、デバイスの安定した部分と見なされます。 返されるパスには、ハンドヘルド デバイスに接続されている USB フラッシュ ドライブなどの一時的なデバイスは含まれません。

アプリケーションは、返されたデバイスの一部または全部にデータを格納できます。 たとえば、アプリでは、 で StatFs測定された、使用可能な領域が最も大きい大きなファイルをデバイスに格納することを選択できます。

呼び出し元アプリが、返されたパスの下にあるファイルを読み取りまたは書き込むための追加のアクセス許可は必要ありません。 セカンダリ外部ストレージ デバイス上のこれらのパスの外部への書き込みアクセスは使用できません。

異なる共有ストレージ メディアが挿入されると、返されるパスが時間の経過と同時に変更される可能性があるため、相対パスのみを保持する必要があります。

このメンバーは非推奨とされます。 これらのディレクトリは引き続き存在し、スキャンされますが、開発者は、 から始まるandroid.os.Build.VERSION_CODES#Qアクセス許可なしで新しいメディアを投稿できるため、コンテンツをコレクションに直接挿入MediaStoreするようにMediaStore移行することをお勧めします。

android.content.Context.getExternalMediaDirs()Java ドキュメント。

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

適用対象

こちらもご覧ください