Context.GetExternalFilesDir(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アプリケーションが所有する永続ファイルを配置できるプライマリ共有/外部ストレージ デバイス上のディレクトリへの絶対パスを返します。
[Android.Runtime.Register("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", "GetGetExternalFilesDir_Ljava_lang_String_Handler")]
public abstract Java.IO.File? GetExternalFilesDir (string? type);
[<Android.Runtime.Register("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", "GetGetExternalFilesDir_Ljava_lang_String_Handler")>]
abstract member GetExternalFilesDir : string -> Java.IO.File
パラメーター
- type
- String
返すファイル ディレクトリの種類。 null
ファイル ディレクトリのルート、またはサブディレクトリandroid.os.Environment#DIRECTORY_MUSIC
の定数 (、、 android.os.Environment#DIRECTORY_NOTIFICATIONS
android.os.Environment#DIRECTORY_MOVIES
android.os.Environment#DIRECTORY_PODCASTS
android.os.Environment#DIRECTORY_RINGTONES
android.os.Environment#DIRECTORY_ALARMS
android.os.Environment#DIRECTORY_PICTURES
のいずれか) の場合があります。
戻り値
アプリケーション固有のディレクトリへの絶対パス。 共有ストレージが現在使用できない場合は、 が返される null
場合があります。
- 属性
注釈
アプリケーションが所有する永続ファイルを配置できるプライマリ共有/外部ストレージ デバイス上のディレクトリへの絶対パスを返します。 これらのファイルはアプリケーションの内部にあり、通常はメディアとしてユーザーに表示されません。
これは、アプリケーションをアンインストールするとこれらのファイルが削除されるという点で似ています #getFilesDir()
が、いくつかの重要な違いがあります。 <ul><li>Shared Storage は、ユーザーがリムーバブル メディアを取り出すことができるため、常に使用できるとは限りません。 メディアの状態は、 を使用して Environment#getExternalStorageState(File)
確認できます。 <li>これらのファイルにはセキュリティは適用されません。 たとえば、保持しているアプリケーション android.Manifest.permission#WRITE_EXTERNAL_STORAGE
は、これらのファイルに書き込むことができます。 </ul>
共有ストレージ デバイスが (によって Environment#isExternalStorageEmulated(File)
決定される) エミュレートされた場合、その内容はプライベート ユーザー データ パーティションによってサポートされます。つまり、 によって返される #getFilesDir()
プライベート ディレクトリではなく、ここにデータを格納する利点はほとんどありません。
以降では android.os.Build.VERSION_CODES#KITKAT
、返されたパスの読み取りまたは書き込みにアクセス許可は必要ありません。呼び出し元のアプリから常にアクセスできます。 これは、呼び出し元アプリケーションのパッケージ名に対して生成されたパスにのみ適用されます。 他のパッケージに属するパスにアクセスするには、 android.Manifest.permission#WRITE_EXTERNAL_STORAGE
または android.Manifest.permission#READ_EXTERNAL_STORAGE
または が必要です。
複数のユーザーを持つデバイス (で UserManager
説明されているように) では、各ユーザーは独自の分離された共有ストレージを持っています。 アプリケーションは、実行しているユーザーの共有ストレージにのみアクセスできます。
異なる共有ストレージ メディアが挿入されると、返されるパスが時間の経過と同時に変更される可能性があるため、相対パスのみを保持する必要があります。
アプリケーションの共有ストレージ内のファイルを操作する一般的なコードの例を次に示します。
{
の android.content.Context.getExternalFilesDir(java.lang.String)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。