ContentResolver.OpenAssetFileDescriptor Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
OpenAssetFileDescriptor(Uri, String) |
Откройте дескриптор необработанного файла для доступа к данным в URI. |
OpenAssetFileDescriptor(Uri, String, CancellationSignal) |
Откройте дескриптор необработанного файла для доступа к данным в URI. |
OpenAssetFileDescriptor(Uri, String)
Откройте дескриптор необработанного файла для доступа к данным в URI.
[Android.Runtime.Register("openAssetFileDescriptor", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "")]
public Android.Content.Res.AssetFileDescriptor? OpenAssetFileDescriptor (Android.Net.Uri uri, string mode);
[<Android.Runtime.Register("openAssetFileDescriptor", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "")>]
member this.OpenAssetFileDescriptor : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor
Параметры
- uri
- Uri
Требуемый универсальный код ресурса (URI) для открытия.
- mode
- String
Строковое представление режима файла. Может быть "r", "w", "wt", "wa", "rw" или "rwt". Обратите внимание, что точное применение этих вариантов может отличаться для каждой реализации поставщика, например "w" может или не может усечь.
Возвращаемое значение
Возвращает новый объект ParcelFileDescriptor, указывающий на файл или null
если поставщик недавно произошел сбой. Вы владеете этим дескриптором и несете ответственность за закрытие его после завершения.
- Атрибуты
Исключения
Вызывает исключение FileNotFoundException без файла в URI или недопустимый режим.
Комментарии
Откройте дескриптор необработанного файла для доступа к данным в URI. Это взаимодействует с базовым ContentProvider#openAssetFile
методом поставщика, связанного с заданным универсальным кодом ресурса (URI), чтобы получить любой файл, хранящийся там.
<h5>Принимает следующие схемы URI:</h5><ul><li>content ()/li><li>android.resource ()</li li file ()/li<>li>file (#SCHEME_FILE
#SCHEME_ANDROID_RESOURCE
#SCHEME_CONTENT
)<</li></ul><h5 Android.resource (#SCHEME_ANDROID_RESOURCE
) Scheme</h5>>
Объект URI можно использовать для ссылки на ресурс в APK-файле. Uri должен быть одним из следующих форматов: <ul><li><android.resource://package_name/id_number
br/>package_name
— это имя пакета, как указано в AndroidManifest.xml. Например com.example.myapp
<, br/>id_number
— это инт-форма идентификатора.<br/> Самый простой способ построить эту форму:
Uri uri = Uri.parse("android.resource://com.example.myapp/" + R.raw.my_resource");
</li li>android.resource://package_name/type/name
><<br/>package_name
— это имя пакета, как указано в AndroidManifest.xml. Например com.example.myapp
<, br/>type
является строковой формой типа ресурса. Например, raw
или drawable
. name
— это строковая форма имени ресурса. То есть независимо от имени файла в каталоге res без расширения типа. Самый простой способ создать эту форму —
Uri uri = Uri.parse("android.resource://com.example.myapp/raw/my_resource");
</li></ul>
Обратите внимание, что если эта функция вызывается для ввода только для чтения (режим "r") для содержимого: URI, он будет вызываться #openTypedAssetFileDescriptor
с типом MIME "*/*". Это позволяет таким вызывающим пользователям воспользоваться любым встроенным преобразованием данных, которое реализует поставщик.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Применяется к
OpenAssetFileDescriptor(Uri, String, CancellationSignal)
Откройте дескриптор необработанного файла для доступа к данным в URI.
[Android.Runtime.Register("openAssetFileDescriptor", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "")]
public Android.Content.Res.AssetFileDescriptor? OpenAssetFileDescriptor (Android.Net.Uri uri, string mode, Android.OS.CancellationSignal? cancellationSignal);
[<Android.Runtime.Register("openAssetFileDescriptor", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "")>]
member this.OpenAssetFileDescriptor : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor
Параметры
- uri
- Uri
Требуемый универсальный код ресурса (URI) для открытия.
- mode
- String
Строковое представление режима файла. Может быть "r", "w", "wt", "wa", "rw" или "rwt". Обратите внимание, что "w" только запись, а "wt" — запись и усечение.
Дополнительные сведения см. в статье ParcelFileDescriptor#parseMode
.
- cancellationSignal
- CancellationSignal
Сигнал для отмены операции во время выполнения или значение NULL, если нет. Если операция отменена, OperationCanceledException
будет создано исключение.
Возвращаемое значение
Возвращает новый объект ParcelFileDescriptor, указывающий на файл или null
если поставщик недавно произошел сбой. Вы владеете этим дескриптором и несете ответственность за закрытие его после завершения.
- Атрибуты
Исключения
Вызывает исключение FileNotFoundException без файла в URI или недопустимый режим.
Комментарии
Откройте дескриптор необработанного файла для доступа к данным в URI. Это взаимодействует с базовым ContentProvider#openAssetFile
методом поставщика, связанного с заданным универсальным кодом ресурса (URI), чтобы получить любой файл, хранящийся там.
<h5>Принимает следующие схемы URI:</h5><ul><li>content ()/li><li>android.resource ()</li li file ()/li<>li>file (#SCHEME_FILE
#SCHEME_ANDROID_RESOURCE
#SCHEME_CONTENT
)<</li></ul><h5 Android.resource (#SCHEME_ANDROID_RESOURCE
) Scheme</h5>>
Объект URI можно использовать для ссылки на ресурс в APK-файле. Uri должен быть одним из следующих форматов: <ul><li><android.resource://package_name/id_number
br/>package_name
— это имя пакета, как указано в AndroidManifest.xml. Например com.example.myapp
<, br/>id_number
— это инт-форма идентификатора.<br/> Самый простой способ построить эту форму:
Uri uri = Uri.parse("android.resource://com.example.myapp/" + R.raw.my_resource");
</li li>android.resource://package_name/type/name
><<br/>package_name
— это имя пакета, как указано в AndroidManifest.xml. Например com.example.myapp
<, br/>type
является строковой формой типа ресурса. Например, raw
или drawable
. name
— это строковая форма имени ресурса. То есть независимо от имени файла в каталоге res без расширения типа. Самый простой способ создать эту форму —
Uri uri = Uri.parse("android.resource://com.example.myapp/raw/my_resource");
</li></ul>
Обратите внимание, что если эта функция вызывается для ввода только для чтения (режим "r") для содержимого: URI, он будет вызываться #openTypedAssetFileDescriptor
с типом MIME "*/*". Это позволяет таким вызывающим пользователям воспользоваться любым встроенным преобразованием данных, которое реализует поставщик.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.