語言

ContentResolver.OpenAssetFileDescriptor 方法

定義

多載

名稱 Description
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 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 是 ID 的整數形式。<br/> 構造此形式最簡單的方法是

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

</li><li br>android.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>

請注意,如果這個函式在 content: URI 上被呼叫為唯讀輸入(模式為「r」),它會改 #openTypedAssetFileDescriptor 用 MIME 類型「*/*」來呼叫你。 這讓這類來電者能利用供應商內建的資料轉換功能。

Java 文件 android.content.ContentResolver.openAssetFileDescriptor(android.net.Uri, java.lang.String)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

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

取消正在進行的操作的訊號,若無則為空。 如果操作被取消,則 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 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 是 ID 的整數形式。<br/> 構造此形式最簡單的方法是

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

</li><li br>android.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>

請注意,如果這個函式在 content: URI 上被呼叫為唯讀輸入(模式為「r」),它會改 #openTypedAssetFileDescriptor 用 MIME 類型「*/*」來呼叫你。 這讓這類來電者能利用供應商內建的資料轉換功能。

Java 文件 android.content.ContentResolver.openAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.CancellationSignal)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於