Freigeben über


Context.GetExternalFilesDirs(String) Methode

Definition

Gibt absolute Pfade zu anwendungsspezifischen Verzeichnissen auf allen freigegebenen/externen Speichergeräten zurück, auf denen die Anwendung dauerhafte Dateien speichern kann, die sie besitzen.

[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 Dateityp, der zurückgegeben werden soll. Kann für das Stammverzeichnis der Dateien oder eine der folgenden Konstanten für ein Unterverzeichnis verwendet werdennull: android.os.Environment#DIRECTORY_MUSIC, , android.os.Environment#DIRECTORY_PODCASTSandroid.os.Environment#DIRECTORY_RINGTONES, android.os.Environment#DIRECTORY_ALARMS, android.os.Environment#DIRECTORY_NOTIFICATIONS, android.os.Environment#DIRECTORY_PICTURESoder 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 dauerhafte Dateien speichern kann, die sie besitzen. Diese Dateien sind intern für die Anwendung und in der Regel nicht für den Benutzer als Medien sichtbar.

Dies ist so #getFilesDir() , als diese Dateien gelöscht werden, 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 von Environment#getExternalStorageState(File) <li>Es gibt keine Sicherheit, die mit diesen Dateien erzwungen wird. Beispielsweise kann jede Anwendungshaltung android.Manifest.permission#WRITE_EXTERNAL_STORAGE in diese Dateien schreiben. </ul>

Wenn ein freigegebenes Speichergerät emuliert wird (wie bestimmt Environment#isExternalStorageEmulated(File)), werden die Inhalte von einer privaten Benutzerdatenpartition gesichert, was bedeutet, dass es wenig Vorteile beim Speichern von Daten hier anstelle der privaten Verzeichnisse gibt, 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 Medienplätze unter einer Schutzabdeckung. Die zurückgegebenen Pfade enthalten keine vorübergehenden Geräte, z. B. USB-Speichersticks, die mit Handheld-Geräten verbunden sind.

Eine Anwendung kann Daten auf einem oder allen zurückgegebenen Geräten speichern. Eine App kann z. B. große Dateien auf dem Gerät mit dem verfügbarsten Speicherplatz speichern, wie gemessen von StatFs.

Für die aufrufende App sind keine zusätzlichen Berechtigungen erforderlich, um Dateien unter dem zurückgegebenen Pfad zu lesen oder zu schreiben. 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 auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Weitere Informationen