Sprache

ContentProvider.OpenAssetFile Methode

Definition

Überlädt

Name Beschreibung
OpenAssetFile(Uri, String)

Dies ist wie #openFile, aber kann von Anbietern implementiert werden, die in der Lage sein müssen, Unterabschnitte von Dateien zurückzugeben, häufig Ressourcen innerhalb ihrer .

OpenAssetFile(Uri, String, CancellationSignal)

Dies ist wie #openFile, aber kann von Anbietern implementiert werden, die in der Lage sein müssen, Unterabschnitte von Dateien zurückzugeben, häufig Ressourcen innerhalb ihrer .

OpenAssetFile(Uri, String)

Dies ist wie #openFile, aber kann von Anbietern implementiert werden, die in der Lage sein müssen, Unterabschnitte von Dateien zurückzugeben, häufig Ressourcen innerhalb ihrer .

[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

Parameter

uri
Uri

Der URI, dessen Datei geöffnet werden soll.

mode
String

Die Zeichenfolgendarstellung des Dateimodus. Kann "r", "w", "wt", "wa", "rw" oder "rwt" sein. Bitte beachten Sie, dass sich die genaue Implementierung für jede Anbieterimplementierung unterscheiden kann – z. B. "w" kann oder nicht abgeschnitten werden.

Gibt zurück

Gibt einen neuen AssetFileDescriptor zurück, den Sie für den Zugriff auf die Datei verwenden können.

Attribute

Ausnahmen

Löst FileNotFoundException aus, wenn dem angegebenen URI keine Datei zugeordnet ist oder der Modus ungültig ist.

Löst SecurityException aus, wenn der Aufrufer nicht über die Berechtigung zum Zugriff auf die Datei verfügt.

Hinweise

Dies ist wie #openFile, kann aber von Anbietern implementiert werden, die in der Lage sein müssen, Unterabschnitte von Dateien zurückzugeben, häufig Ressourcen innerhalb ihrer .apk. Diese Methode kann von mehreren Threads aufgerufen werden, wie in Prozessen und Threads beschrieben.

Wenn Sie dies implementieren, müssen Ihre Clients in der Lage sein, solche Dateisegmente entweder direkt mit ContentResolver#openAssetFileDescriptoroder mithilfe der höheren Ebene ContentResolver#openInputStream ContentResolver.openInputStream oder ContentResolver#openOutputStream ContentResolver.openOutputStream methoden zu behandeln.

Der zurückgegebene AssetFileDescriptor kann ein Pipe- oder Socketpaar sein, um das Streamen von Daten zu ermöglichen.

Wenn Sie dies implementieren, um eine vollständige Datei zurückzugeben, sollten Sie den AssetFileDescriptor AssetFileDescriptor#UNKNOWN_LENGTH so erstellen, dass er mit Anwendungen kompatibel ist, die keine Unterabschnitte von Dateien verarbeiten können.

Für die Verwendung in Intents möchten Sie implementieren #getType , um den entsprechenden MIME-Typ für die hier zurückgegebenen Daten mit demselben URI zurückzugeben. Dadurch kann die Absichtsauflösung automatisch den MIME-Datentyp ermitteln und die entsprechenden übereinstimmenden Ziele als Teil des Vorgangs auswählen.

Für eine bessere Interoperabilität mit anderen Anwendungen wird empfohlen, dass Sie für alle URIs, die geöffnet werden können, auch Abfragen unterstützen, die mindestens die durch android.provider.OpenableColumnsdie angegebenen Spalten enthalten.

Java Dokumentation für android.content.ContentProvider.openAssetFile(android.net.Uri, java.lang.String).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Siehe auch

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

Gilt für:

OpenAssetFile(Uri, String, CancellationSignal)

Dies ist wie #openFile, aber kann von Anbietern implementiert werden, die in der Lage sein müssen, Unterabschnitte von Dateien zurückzugeben, häufig Ressourcen innerhalb ihrer .

[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

Parameter

uri
Uri

Der URI, dessen Datei geöffnet werden soll.

mode
String

Die Zeichenfolgendarstellung des Dateimodus. Kann "r", "w", "wt", "wa", "rw" oder "rwt" sein. Bitte beachten Sie, dass sich die genaue Implementierung für jede Anbieterimplementierung unterscheiden kann – z. B. "w" kann oder nicht abgeschnitten werden.

signal
CancellationSignal

Ein Signal zum Abbrechen des laufenden Vorgangs oder null wenn keines. Wenn Sie z. B. eine Datei aus dem Netzwerk herunterladen, um eine "rw"-Modusanforderung zu warten, sollten Sie regelmäßig aufrufen CancellationSignal#throwIfCanceled() , um zu überprüfen, ob der Client die Anforderung abgebrochen und den Download abgebrochen hat.

Gibt zurück

Gibt einen neuen AssetFileDescriptor zurück, den Sie für den Zugriff auf die Datei verwenden können.

Attribute

Ausnahmen

Löst FileNotFoundException aus, wenn dem angegebenen URI keine Datei zugeordnet ist oder der Modus ungültig ist.

Löst SecurityException aus, wenn der Aufrufer nicht über die Berechtigung zum Zugriff auf die Datei verfügt.

Hinweise

Dies ist wie #openFile, kann aber von Anbietern implementiert werden, die in der Lage sein müssen, Unterabschnitte von Dateien zurückzugeben, häufig Ressourcen innerhalb ihrer .apk. Diese Methode kann von mehreren Threads aufgerufen werden, wie in Prozessen und Threads beschrieben.

Wenn Sie dies implementieren, müssen Ihre Clients in der Lage sein, solche Dateisegmente entweder direkt mit ContentResolver#openAssetFileDescriptoroder mithilfe der höheren Ebene ContentResolver#openInputStream ContentResolver.openInputStream oder ContentResolver#openOutputStream ContentResolver.openOutputStream methoden zu behandeln.

Der zurückgegebene AssetFileDescriptor kann ein Pipe- oder Socketpaar sein, um das Streamen von Daten zu ermöglichen.

Wenn Sie dies implementieren, um eine vollständige Datei zurückzugeben, sollten Sie den AssetFileDescriptor AssetFileDescriptor#UNKNOWN_LENGTH so erstellen, dass er mit Anwendungen kompatibel ist, die keine Unterabschnitte von Dateien verarbeiten können.

Für die Verwendung in Intents möchten Sie implementieren #getType , um den entsprechenden MIME-Typ für die hier zurückgegebenen Daten mit demselben URI zurückzugeben. Dadurch kann die Absichtsauflösung automatisch den MIME-Datentyp ermitteln und die entsprechenden übereinstimmenden Ziele als Teil des Vorgangs auswählen.

Für eine bessere Interoperabilität mit anderen Anwendungen wird empfohlen, dass Sie für alle URIs, die geöffnet werden können, auch Abfragen unterstützen, die mindestens die durch android.provider.OpenableColumnsdie angegebenen Spalten enthalten.

Java Dokumentation für android.content.ContentProvider.openAssetFile(android.net.Uri, java.lang.String, android.os.CancellationSignal).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Siehe auch

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

Gilt für: