ContentResolver.OpenAssetFileDescriptor 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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
提供程序最近崩溃。 你拥有此描述符,并负责在完成后将其关闭。
- 属性
例外
引发 URI 下不存在文件的 FileNotFoundException 或模式无效。
注解
打开原始文件描述符以访问 URI 下的数据。 这会与与给定 URI 关联的提供程序的基础 ContentProvider#openAssetFile
方法交互,以检索存储在该处的任何文件。
<h5>接受以下 URI 方案:</h5><ul<>li>content (#SCHEME_CONTENT
)/li<>li>android.resource (#SCHEME_ANDROID_RESOURCE
)</li li>file (#SCHEME_FILE
)<</li><<>/ul><h5>Android.resource () 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
是 ID 的 int 形式。<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”)调用此函数(模式为“r”),则会改为使用 MIME 类型“*/*”调用 #openTypedAssetFileDescriptor
此函数。 这样,此类调用方就可以从提供程序实现的任何内置数据转换中受益。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
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
提供程序最近崩溃。 你拥有此描述符,并负责在完成后将其关闭。
- 属性
例外
引发 URI 下不存在文件的 FileNotFoundException 或模式无效。
注解
打开原始文件描述符以访问 URI 下的数据。 这会与与给定 URI 关联的提供程序的基础 ContentProvider#openAssetFile
方法交互,以检索存储在该处的任何文件。
<h5>接受以下 URI 方案:</h5><ul<>li>content (#SCHEME_CONTENT
)/li<>li>android.resource (#SCHEME_ANDROID_RESOURCE
)</li li>file (#SCHEME_FILE
)<</li><<>/ul><h5>Android.resource () 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
是 ID 的 int 形式。<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”)调用此函数(模式为“r”),则会改为使用 MIME 类型“*/*”调用 #openTypedAssetFileDescriptor
此函数。 这样,此类调用方就可以从提供程序实现的任何内置数据转换中受益。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。