Language

ContentProvider.OpenAssetFile メソッド

定義

オーバーロード

名前 説明
OpenAssetFile(Uri, String)

これは #openFileのようなものですが、ファイルのサブセクション、多くの場合、その内部の資産を返すことができる必要があるプロバイダーによって実装できます。

OpenAssetFile(Uri, String, CancellationSignal)

これは #openFileのようなものですが、ファイルのサブセクション、多くの場合、その内部の資産を返すことができる必要があるプロバイダーによって実装できます。

OpenAssetFile(Uri, String)

これは #openFileのようなものですが、ファイルのサブセクション、多くの場合、その内部の資産を返すことができる必要があるプロバイダーによって実装できます。

[Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Handler")]
public virtual Android.Content.Res.AssetFileDescriptor? OpenAssetFile(Android.Net.Uri uri, string mode);
[<Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Handler")>]
abstract member OpenAssetFile : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor
override this.OpenAssetFile : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor

パラメーター

uri
Uri

ファイルを開く URI。

mode
String

ファイル モードの文字列形式。 "r"、"w"、"wt"、"wa"、"rw"、または "rwt" を指定できます。 これらの正確な実装は、プロバイダーの実装ごとに異なる場合があることに注意してください。たとえば、"w" は切り捨てられる場合と切り捨てられない場合があります。

返品

ファイルへのアクセスに使用できる新しい AssetFileDescriptor を返します。

属性

例外

指定された URI に関連付けられているファイルがない場合、またはモードが無効な場合は、FileNotFoundException をスローします。

呼び出し元にファイルへのアクセス許可がない場合は、SecurityException をスローします。

注釈

これは #openFileに似ていますが、ファイルのサブセクション (多くの場合、.apk内の資産) を返すことができる必要があるプロバイダーによって実装できます。 このメソッドは、「 プロセスとスレッド」の説明に従って、複数のスレッドから呼び出すことができます。

これを実装する場合、クライアントは、 ContentResolver#openAssetFileDescriptorを直接使用するか、上位レベルの ContentResolver#openInputStream ContentResolver.openInputStream または ContentResolver#openOutputStream ContentResolver.openOutputStream メソッドを使用して、このようなファイル スライスを処理できる必要があります。

返される AssetFileDescriptor には、データのストリーミングを有効にするパイプまたはソケットのペアを指定できます。

完全なファイルを返すためにこれを実装する場合は、ファイルのサブセクションを処理できないアプリケーションと互換性を持つ AssetFileDescriptor#UNKNOWN_LENGTH を持つ AssetFileDescriptor を作成する必要があります。

意図で使用する場合は、同じ URI でここで返されるデータに適した MIME の種類を返す #getType を実装する必要があります。 これにより、意図解決でデータ MIME の種類を自動的に決定し、操作の一部として適切な一致するターゲットを選択できるようになります。

他のアプリケーションとの相互運用性を高める場合は、開くことができるすべての URI に対して、少なくとも android.provider.OpenableColumns で指定された列を含むクエリもサポートすることをお勧めします。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

こちらもご覧ください

  • <xref:Android.Content.ContentProvider.OpenFile(Android.Net.Uri%2c+System.String)>
  • <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
  • GetType(Uri)

適用対象

OpenAssetFile(Uri, String, CancellationSignal)

これは #openFileのようなものですが、ファイルのサブセクション、多くの場合、その内部の資産を返すことができる必要があるプロバイダーによって実装できます。

[Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")]
public virtual Android.Content.Res.AssetFileDescriptor? OpenAssetFile(Android.Net.Uri uri, string mode, Android.OS.CancellationSignal? signal);
[<Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")>]
abstract member OpenAssetFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor
override this.OpenAssetFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor

パラメーター

uri
Uri

ファイルを開く URI。

mode
String

ファイル モードの文字列形式。 "r"、"w"、"wt"、"wa"、"rw"、または "rwt" を指定できます。 これらの正確な実装は、プロバイダーの実装ごとに異なる場合があることに注意してください。たとえば、"w" は切り捨てられる場合と切り捨てられない場合があります。

signal
CancellationSignal

進行中の操作を取り消すシグナル、または何も null しない場合は。 たとえば、"rw" モードの要求を処理するためにネットワークからファイルをダウンロードする場合は、 CancellationSignal#throwIfCanceled() を定期的に呼び出して、クライアントが要求をキャンセルしたかどうかを確認し、ダウンロードを中止する必要があります。

返品

ファイルへのアクセスに使用できる新しい AssetFileDescriptor を返します。

属性

例外

指定された URI に関連付けられているファイルがない場合、またはモードが無効な場合は、FileNotFoundException をスローします。

呼び出し元にファイルへのアクセス許可がない場合は、SecurityException をスローします。

注釈

これは #openFileに似ていますが、ファイルのサブセクション (多くの場合、.apk内の資産) を返すことができる必要があるプロバイダーによって実装できます。 このメソッドは、「 プロセスとスレッド」の説明に従って、複数のスレッドから呼び出すことができます。

これを実装する場合、クライアントは、 ContentResolver#openAssetFileDescriptorを直接使用するか、上位レベルの ContentResolver#openInputStream ContentResolver.openInputStream または ContentResolver#openOutputStream ContentResolver.openOutputStream メソッドを使用して、このようなファイル スライスを処理できる必要があります。

返される AssetFileDescriptor には、データのストリーミングを有効にするパイプまたはソケットのペアを指定できます。

完全なファイルを返すためにこれを実装する場合は、ファイルのサブセクションを処理できないアプリケーションと互換性を持つ AssetFileDescriptor#UNKNOWN_LENGTH を持つ AssetFileDescriptor を作成する必要があります。

意図で使用する場合は、同じ URI でここで返されるデータに適した MIME の種類を返す #getType を実装する必要があります。 これにより、意図解決でデータ MIME の種類を自動的に決定し、操作の一部として適切な一致するターゲットを選択できるようになります。

他のアプリケーションとの相互運用性を高める場合は、開くことができるすべての URI に対して、少なくとも android.provider.OpenableColumns で指定された列を含むクエリもサポートすることをお勧めします。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

こちらもご覧ください

  • <xref:Android.Content.ContentProvider.OpenFile(Android.Net.Uri%2c+System.String)>
  • <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
  • GetType(Uri)

適用対象