Поделиться через


Context.GetExternalFilesDirs(String) Метод

Определение

Возвращает абсолютные пути к каталогам, зависящим от приложения, на всех общих или внешних устройствах хранения, где приложение может размещать постоянные файлы, принадлежащие ему.

[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[]

Параметры

type
String

Тип возвращаемого каталога файлов. Может быть null корнем каталога файлов или одной из следующих констант для подкаталога: android.os.Environment#DIRECTORY_MUSIC, , android.os.Environment#DIRECTORY_PODCASTS, android.os.Environment#DIRECTORY_NOTIFICATIONSandroid.os.Environment#DIRECTORY_PICTURESandroid.os.Environment#DIRECTORY_RINGTONESandroid.os.Environment#DIRECTORY_ALARMS, или .android.os.Environment#DIRECTORY_MOVIES

Возвращаемое значение

File[]

абсолютные пути к каталогам, зависящим от приложения. Некоторые отдельные пути могут быть null , если это общее хранилище в настоящее время недоступно. Первый путь, возвращенный, совпадает с #getExternalFilesDir(String).

Атрибуты

Комментарии

Возвращает абсолютные пути к каталогам, зависящим от приложения, на всех общих или внешних устройствах хранения, где приложение может размещать постоянные файлы, принадлежащие ему. Эти файлы являются внутренними для приложения и обычно не видны пользователю в качестве носителя.

Это похоже на #getFilesDir() то, что эти файлы будут удалены при удалении приложения, однако существуют некоторые важные различия: <общее хранилище ul><li>может не всегда быть доступным, так как съемный носитель может быть удален пользователем. Состояние носителя можно проверить с помощью Environment#getExternalStorageState(File). <li>Нет принудительной защиты с этими файлами. Например, любое удержание приложений android.Manifest.permission#WRITE_EXTERNAL_STORAGE может записывать эти файлы. </ul>

Если общее устройство хранилища эмулируется (как определено Environment#isExternalStorageEmulated(File)), содержимое поддерживается разделом данных частного пользователя, что означает, что нет никаких преимуществ для хранения данных здесь, а не частных каталогов, возвращаемых #getFilesDir()и т. д.

Общие устройства хранилища, возвращенные здесь, считаются стабильной частью устройства, включая слоты физических носителей под защитным крышкой. Возвращаемые пути не включают временные устройства, такие как USB-флэш-накопители, подключенные к устройствам с ручным устройством.

Приложение может хранить данные на любом или всех возвращенных устройствах. Например, приложение может хранить большие файлы на устройстве с наиболее доступным пространством, как измеряется StatFs.

Дополнительные разрешения не требуются для вызова приложения для чтения или записи файлов в возвращенный путь. Доступ на запись за пределами этих путей на вторичных внешних устройствах хранилища недоступен.

Возвращаемый путь может измениться с течением времени, если вставляется другой общий носитель хранилища, поэтому следует сохранять только относительные пути.

Документация по Java для android.content.Context.getExternalFilesDirs(java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

См. также раздел