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 (#SCHEME_CONTENT
)</li><li>android.resource (#SCHEME_ANDROID_RESOURCE
)</li><li li file (#SCHEME_FILE
)</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
— это форма int идентификатора.<br/> Самый простой способ создать эту форму :
Uri uri = Uri.parse("android.resource://com.example.myapp/" + R.raw.my_resource");
</li><li brandroid.resource://package_name/type/name
<>/>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 License.
Применяется к
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 (#SCHEME_CONTENT
)</li><li>android.resource (#SCHEME_ANDROID_RESOURCE
)</li><li li file (#SCHEME_FILE
)</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
— это форма int идентификатора.<br/> Самый простой способ создать эту форму :
Uri uri = Uri.parse("android.resource://com.example.myapp/" + R.raw.my_resource");
</li><li brandroid.resource://package_name/type/name
<>/>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 License.