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 提供程序最近崩溃。 你拥有此描述符,并负责在完成后将其关闭。

属性

例外

引发 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_numberbr/>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 是资源类型的字符串形式。 例如,rawdrawablename 是资源名称的字符串形式。 也就是说,无论文件名在 res 目录中,都没有类型扩展名。 构造此表单的最简单方法是

Uri uri = Uri.parse("android.resource://com.example.myapp/raw/my_resource");

</li></ul>

请注意,如果针对内容(模式为“r”)调用此函数(模式为“r”),则会改为使用 MIME 类型“*/*”调用 #openTypedAssetFileDescriptor 此函数。 这样,此类调用方就可以从提供程序实现的任何内置数据转换中受益。

适用于 . 的 android.content.ContentResolver.openAssetFileDescriptor(android.net.Uri, java.lang.String)Java 文档

本页的某些部分是根据 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_numberbr/>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 是资源类型的字符串形式。 例如,rawdrawablename 是资源名称的字符串形式。 也就是说,无论文件名在 res 目录中,都没有类型扩展名。 构造此表单的最简单方法是

Uri uri = Uri.parse("android.resource://com.example.myapp/raw/my_resource");

</li></ul>

请注意,如果针对内容(模式为“r”)调用此函数(模式为“r”),则会改为使用 MIME 类型“*/*”调用 #openTypedAssetFileDescriptor 此函数。 这样,此类调用方就可以从提供程序实现的任何内置数据转换中受益。

适用于 . 的 android.content.ContentResolver.openAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.CancellationSignal)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于