ContentResolver.OpenAssetFileDescriptor 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | 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 類型「*/*」來呼叫你。 這讓這類來電者能利用供應商內建的資料轉換功能。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。