Context.GetExternalFilesDirs(String) Methode

Definition

Gibt absolute Pfade zu anwendungsspezifischen Verzeichnissen auf allen freigegebenen/externen Speichergeräten zurück, auf denen die Anwendung persistente Dateien speichern kann, die ihr gehören.

[Android.Runtime.Register("getExternalFilesDirs", "(Ljava/lang/String;)[Ljava/io/File;", "GetGetExternalFilesDirs_Ljava_lang_String_Handler")]
public abstract Java.IO.File[]? GetExternalFilesDirs (string? type);
[<Android.Runtime.Register("getExternalFilesDirs", "(Ljava/lang/String;)[Ljava/io/File;", "GetGetExternalFilesDirs_Ljava_lang_String_Handler")>]
abstract member GetExternalFilesDirs : string -> Java.IO.File[]

Parameter

type
String

Der Typ des zurückzugebenden Dateiverzeichnisses. Kann für den Stamm des Verzeichnisses files oder eine der folgenden Konstanten für ein Unterverzeichnis seinnull: android.os.Environment#DIRECTORY_MUSIC, android.os.Environment#DIRECTORY_PODCASTS, android.os.Environment#DIRECTORY_RINGTONES, android.os.Environment#DIRECTORY_ALARMS, android.os.Environment#DIRECTORY_NOTIFICATIONSandroid.os.Environment#DIRECTORY_PICTURES, oder android.os.Environment#DIRECTORY_MOVIES.

Gibt zurück

File[]

die absoluten Pfade zu anwendungsspezifischen Verzeichnissen. Einige einzelne Pfade können sein null , wenn dieser freigegebene Speicher derzeit nicht verfügbar ist. Der erste zurückgegebene Pfad ist identisch mit #getExternalFilesDir(String).

Attribute

Hinweise

Gibt absolute Pfade zu anwendungsspezifischen Verzeichnissen auf allen freigegebenen/externen Speichergeräten zurück, auf denen die Anwendung persistente Dateien speichern kann, die ihr gehören. Diese Dateien sind für die Anwendung intern und in der Regel nicht als Medien für den Benutzer sichtbar.

Dies ist so #getFilesDir() , als werden diese Dateien gelöscht, wenn die Anwendung deinstalliert wird, es gibt jedoch einige wichtige Unterschiede: <ul><li>Shared Storage ist möglicherweise nicht immer verfügbar, da Wechselmedien vom Benutzer ausgeworfen werden können. Der Medienzustand kann mithilfe Environment#getExternalStorageState(File)von überprüft werden. <li>Mit diesen Dateien wird keine Sicherheit erzwungen. Beispielsweise kann jede Anwendung, die diese Dateien enthält android.Manifest.permission#WRITE_EXTERNAL_STORAGE , schreiben. </ul>

Wenn ein freigegebenes Speichergerät emuliert wird (wie von Environment#isExternalStorageEmulated(File)bestimmt), werden seine Inhalte von einer privaten Benutzerdatenpartition gesichert. Dies bedeutet, dass die Speicherung von Daten hier nur wenig Vorteile gegenüber den privaten Verzeichnissen hat, die von #getFilesDir()usw. zurückgegeben werden.

Freigegebene Speichergeräte, die hier zurückgegeben werden, gelten als stabiler Teil des Geräts, einschließlich physischer Medienslots unter einer Schutzhülle. Die zurückgegebenen Pfade enthalten keine vorübergehenden Geräte, z. B. USB-Speichersticks, die mit Handheldgeräten verbunden sind.

Eine Anwendung kann Daten auf einem oder allen zurückgegebenen Geräten speichern. Beispielsweise kann eine App große Dateien auf dem Gerät mit dem meisten verfügbaren Speicherplatz speichern, wie durch StatFsgemessen.

Es sind keine zusätzlichen Berechtigungen erforderlich, damit die aufrufende App Dateien unter dem zurückgegebenen Pfad lesen oder schreiben kann. Schreibzugriff außerhalb dieser Pfade auf sekundären externen Speichergeräten ist nicht verfügbar.

Der zurückgegebene Pfad kann sich im Laufe der Zeit ändern, wenn verschiedene freigegebene Speichermedien eingefügt werden, sodass nur relative Pfade beibehalten werden sollten.

Java-Dokumentation für android.content.Context.getExternalFilesDirs(java.lang.String).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Weitere Informationen