ContentProvider.OpenAssetFile Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| OpenAssetFile(Uri, String) |
C’est comme |
| OpenAssetFile(Uri, String, CancellationSignal) |
C’est comme |
OpenAssetFile(Uri, String)
C’est comme #openFile, mais peut être implémenté par des fournisseurs qui doivent être en mesure de retourner des sous-sections de fichiers, souvent des ressources à l’intérieur de leur .
[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
Paramètres
- uri
- Uri
URI dont le fichier doit être ouvert.
- mode
- String
Représentation sous forme de chaîne du mode fichier. Peut être « r », « w », « wt », « wa », « rw » ou « rwt ». Notez que l’implémentation exacte de ces éléments peut différer pour chaque implémentation de fournisseur , par exemple, « w » peut ou ne pas tronquer.
Retours
Retourne un nouvel AssetFileDescriptor que vous pouvez utiliser pour accéder au fichier.
- Attributs
Exceptions
Lève FileNotFoundException s’il n’existe aucun fichier associé à l’URI donné ou si le mode n’est pas valide.
Lève SecurityException si l’appelant n’a pas l’autorisation d’accéder au fichier.
Remarques
Cela est semblable #openFile, mais peut être implémenté par des fournisseurs qui doivent pouvoir retourner des sous-sections de fichiers, souvent des ressources à l’intérieur de leur .apk. Cette méthode peut être appelée à partir de plusieurs threads, comme décrit dans Processus et Threads.
Si vous implémentez cela, vos clients doivent être en mesure de traiter ces tranches de fichiers, soit directement avecContentResolver#openAssetFileDescriptor, soit à l’aide des méthodes ou ContentResolver#openInputStream ContentResolver.openInputStream des niveaux ContentResolver#openOutputStream ContentResolver.openOutputStream supérieurs.
Le AssetFileDescriptor retourné peut être une paire de canal ou de socket pour activer la diffusion en continu de données.
Si vous implémentez cela pour retourner un fichier complet, vous devez créer assetFileDescriptor avec AssetFileDescriptor#UNKNOWN_LENGTH pour être compatible avec les applications qui ne peuvent pas gérer les sous-sections de fichiers.
Pour une utilisation dans Intentions, vous souhaiterez implémenter #getType pour retourner le type MIME approprié pour les données retournées ici avec le même URI. Cela permet à la résolution d’intention de déterminer automatiquement le type MIME de données et de sélectionner les cibles correspondantes appropriées dans le cadre de son opération.
Pour une meilleure interopérabilité avec d’autres applications, il est recommandé que pour toutes les URI qui peuvent être ouvertes, vous prenez également en charge les requêtes sur celles-ci contenant au moins les colonnes spécifiées par android.provider.OpenableColumns.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Voir aussi
- <xref:Android.Content.ContentProvider.OpenFile(Android.Net.Uri%2c+System.String)>
- <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
- GetType(Uri)
S’applique à
OpenAssetFile(Uri, String, CancellationSignal)
C’est comme #openFile, mais peut être implémenté par des fournisseurs qui doivent être en mesure de retourner des sous-sections de fichiers, souvent des ressources à l’intérieur de leur .
[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
Paramètres
- uri
- Uri
URI dont le fichier doit être ouvert.
- mode
- String
Représentation sous forme de chaîne du mode fichier. Peut être « r », « w », « wt », « wa », « rw » ou « rwt ». Notez que l’implémentation exacte de ces éléments peut différer pour chaque implémentation de fournisseur , par exemple, « w » peut ou ne pas tronquer.
- signal
- CancellationSignal
Signal d’annulation de l’opération en cours, ou null s’il n’en a pas. Par exemple, si vous téléchargez un fichier à partir du réseau pour traiter une demande en mode « rw », vous devez régulièrement appeler CancellationSignal#throwIfCanceled() pour vérifier si le client a annulé la demande et abandonner le téléchargement.
Retours
Retourne un nouvel AssetFileDescriptor que vous pouvez utiliser pour accéder au fichier.
- Attributs
Exceptions
Lève FileNotFoundException s’il n’existe aucun fichier associé à l’URI donné ou si le mode n’est pas valide.
Lève SecurityException si l’appelant n’a pas l’autorisation d’accéder au fichier.
Remarques
Cela est semblable #openFile, mais peut être implémenté par des fournisseurs qui doivent pouvoir retourner des sous-sections de fichiers, souvent des ressources à l’intérieur de leur .apk. Cette méthode peut être appelée à partir de plusieurs threads, comme décrit dans Processus et Threads.
Si vous implémentez cela, vos clients doivent être en mesure de traiter ces tranches de fichiers, soit directement avecContentResolver#openAssetFileDescriptor, soit à l’aide des méthodes ou ContentResolver#openInputStream ContentResolver.openInputStream des niveaux ContentResolver#openOutputStream ContentResolver.openOutputStream supérieurs.
Le AssetFileDescriptor retourné peut être une paire de canal ou de socket pour activer la diffusion en continu de données.
Si vous implémentez cela pour retourner un fichier complet, vous devez créer assetFileDescriptor avec AssetFileDescriptor#UNKNOWN_LENGTH pour être compatible avec les applications qui ne peuvent pas gérer les sous-sections de fichiers.
Pour une utilisation dans Intentions, vous souhaiterez implémenter #getType pour retourner le type MIME approprié pour les données retournées ici avec le même URI. Cela permet à la résolution d’intention de déterminer automatiquement le type MIME de données et de sélectionner les cibles correspondantes appropriées dans le cadre de son opération.
Pour une meilleure interopérabilité avec d’autres applications, il est recommandé que pour toutes les URI qui peuvent être ouvertes, vous prenez également en charge les requêtes sur celles-ci contenant au moins les colonnes spécifiées par android.provider.OpenableColumns.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Voir aussi
- <xref:Android.Content.ContentProvider.OpenFile(Android.Net.Uri%2c+System.String)>
- <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
- GetType(Uri)