Context.GetExternalFilesDir(String) Methode

Definition

Gibt den absoluten Pfad zum Verzeichnis auf dem primären freigegebenen/externen Speichergerät zurück, auf dem die Anwendung persistente Dateien speichern kann, die ihr gehören.

[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

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

der absolute Pfad zum anwendungsspezifischen Verzeichnis. Kann zurückgegeben werden null , wenn der freigegebene Speicher derzeit nicht verfügbar ist.

Attribute

Hinweise

Gibt den absoluten Pfad zum Verzeichnis auf dem primären freigegebenen/externen Speichergerät zurück, auf dem die Anwendung persistente Dateien speichern kann, die ihr gehören. Diese Dateien sind für die Anwendungen 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.

android.os.Build.VERSION_CODES#KITKATAb sind keine Berechtigungen erforderlich, um den zurückgegebenen Pfad zu lesen oder zu schreiben. Die aufrufende App kann immer darauf zugreifen. Dies gilt nur für Pfade, die für den Paketnamen der aufrufenden Anwendung generiert werden. Für den Zugriff auf Pfade, die zu anderen Paketen gehören, android.Manifest.permission#WRITE_EXTERNAL_STORAGE und/oder android.Manifest.permission#READ_EXTERNAL_STORAGE sind erforderlich.

Auf Geräten mit mehreren Benutzern (wie von UserManagerbeschrieben) verfügt jeder Benutzer über einen eigenen isolierten freigegebenen Speicher. Anwendungen haben nur Zugriff auf den freigegebenen Speicher für den Benutzer, als den sie ausführen.

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.

Im Folgenden finden Sie ein Beispiel für typischen Code zum Bearbeiten einer Datei im freigegebenen Speicher einer Anwendung:

{

Java-Dokumentation für android.content.Context.getExternalFilesDir(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