Package | flash.external |
Classe | public final class ExtensionContext |
Héritage | ExtensionContext EventDispatcher Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
La classe ExtensionContext fournit également une méthode statique, getExtensionDirectory()
, pour accéder au répertoire dans lequel est installée l’extension sur le périphérique. Elle fournit par ailleurs une propriété, actionScriptData
, permettant de partager les données avec l’implémentation native de l’extension.
Remarque : les applications AIR ayant recours au profil extendedDesktop
peuvent utiliser la classe NativeProcess pour exécuter des processus natifs.
Plus d’exemples
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
actionScriptData : Object
Objet ActionScript, s’il existe, associé à ce contexte. | ExtensionContext | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object |
Méthode | Défini par | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | ||
Appelle la fonction native spécifiée par functionName. | ExtensionContext | ||
[statique]
Crée une occurrence de ExtensionContext pour l’identifiant d’extension et le type de contexte spécifiés. | ExtensionContext | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Supprime cette occurrence de ExtensionContext. | ExtensionContext | ||
[statique]
Renvoie le répertoire dans lequel l’extension est installée sur le périphérique. | ExtensionContext | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. | EventDispatcher |
Evénement | Synthèse | Défini par | ||
---|---|---|---|---|
[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active. | EventDispatcher | |||
[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive. | EventDispatcher | |||
La classe ExtensionContext fournit une interface pour les appels de fonctions dans l’implémentation native d’une extension native pour Adobe AIR. | ExtensionContext |
actionScriptData | propriété |
actionScriptData:Object
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
Objet ActionScript, s’il existe, associé à ce contexte.
Vous pouvez associer tout objet ActionScript à une occurrence d’ExtensionContext. L’implémentation native peut également obtenir et définir cet objet ActionScript. Par conséquent, vous pouvez utiliser actionScriptData
pour partager des données entre le côté ActionScript et le côté natif d’une extension.
Vous pouvez également définir la valeur de actionScriptData
sur null
.
Implémentation
public function get actionScriptData():Object
public function set actionScriptData(value:Object):void
Valeur émise
IllegalOperationError — La méthode dispose() a déjà été appelée sur cette occurrence d’ExtensionContext.
|
call | () | méthode |
public function call(functionName:String, ... args):Object
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
Appelle la fonction native spécifiée par functionName
. Tout argument supplémentaire est transmis à la fonction native.
Paramètres
functionName:String — Nom qui représente une fonction dans l’implémentation native. Ce nom n’est pas nécessairement le nom réel de la fonction native, mais tout autre nom convenu entre le côté ActionScript et côté natif de l’extension.
| |
... args — Liste d’arguments associés à la fonction native. Ces arguments peuvent être l’un des objets ActionScript : types de primitives ou objets de classes ActionScript. Les types et de l’ordre des arguments sont convenus entre le côté ActionScript et côté natif de l’extension.
|
Object — Valeur renvoyée par la fonction native. La valeur renvoyée est null si la fonction native ne renvoie aucune valeur ou si elle renvoie une référence d’objet non valide.
|
Valeur émise
ArgumentError — Aucune fonction ne correspond au nom donné par functionName .
| |
IllegalOperationError — La méthode dispose() a déjà été appelée sur cette occurrence d’ExtensionContext. Cette erreur est également renvoyée si la fonction native renvoie un objet de référence non valide.
|
createExtensionContext | () | méthode |
public static function createExtensionContext(extensionID:String, contextType:String):ExtensionContext
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
Crée une occurrence de ExtensionContext pour l’identifiant d’extension et le type de contexte spécifiés.
Paramètres
extensionID:String — Identifiant d’extension de l’extension. Cet identifiant a la même valeur que l’élément id dans le fichier descripteur de l’extension. Les développeurs d’application utilisent également cette valeur dans l’élément extensionID du fichier descripteur d’application. Toutes les extensions partagent un espace de noms unique et global. Par conséquent, pour éviter les conflits de noms, utilisez la notation DNS inverse pour l’identifiant d’extension.
| |
contextType:String — Type de contexte de l’extension. Selon le type de contexte, l’implémentation native peuvent procéder à différentes initialisations. Ces différences peuvent consister en la spécification, de la part de l’implémentation native, d’un autre jeu de fonctions natives disponibles que le côté ActionScript peut appeler. La valeur du type de contexte correspond à une chaîne convenue entre le côté ActionScript et le côté natif de l’extension. Les extensions simples n’ont souvent pas l’utilisation de plusieurs types de contextes. Dans ces cas, transmettez une chaîne vide, "" ou null , pour la valeur contextType .
|
ExtensionContext — Nouvelle occurrence de ExtensionContext. Renvoie null si aucune extension avec la valeur extensionID n’est disponible, ou si la fonction d’initialiseur du contexte spécifiée dans le document extension.xml pour le paramètre extensionID indiqué est introuvable ou ne peut pas être exécutée.
|
Valeur émise
ArgumentError — Le paramètre extensionID est null ou n’est pas un ID d’extension valide.
|
dispose | () | méthode |
public function dispose():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
Supprime cette occurrence de ExtensionContext.
Le moteur d’exécution en informe l’implémentation native, qui peut libérer toutes les ressources natives associées. Après l’appel de la méthode dispose()
, le code ne peut pas appeler la méthode call()
, et ne peut pas obtenir ou définir la propriété actionScriptData
.
getExtensionDirectory | () | méthode |
public static function getExtensionDirectory(extensionID:String):File
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
Renvoie le répertoire dans lequel l’extension est installée sur le périphérique.
Il peut arriver qu’une extension comprenne des ressources, notamment des images, auxquelles vous souhaitez accéder à partir du code ActionScript de l’extension. Le code peut également avoir besoin d’informations disponibles dans le fichier descripteur de l’extension, telles que le numéro de version de l’extension. Vous pouvez utiliser cette méthode pour accéder au répertoire de base de l’extension.
Où que se trouve l’extension sur le périphérique, ses fichiers sont toujours au même emplacement par rapport à ce répertoire de base de l’extension. L’occurrence File que cette méthode renvoie permet d’accéder à certains fichiers inclus avec l’extension et de les manipuler.
Le répertoire de l’extension présente la structure suivante :
extension base directory/ platform independent files META-INF/ ANE/ extension.xml platform name/ platform-dependent files and directories
L’emplacement du répertoire de l’extension varie selon que l’extension est disponible via un regroupement d’applications ou un regroupement de périphériques, comme suit :
- Avec le regroupement d’applications, le répertoire de l’extension se trouve dans le répertoire de l’application.
- Avec le regroupement de périphériques, l’emplacement du répertoire de l’extension dépend du périphérique.
Il existe une exception à l’utilisation de getExtensionDirectory()
pour les extensions natives des périphériques iOS. Les ressources de ces extensions ne se trouvent pas dans le répertoire de l’extension. Elles se trouvent dans le répertoire racine de l’application.
Paramètres
extensionID:String — Identifiant d’extension de l’extension. Cet identifiant a la même valeur que le paramètre extensionID dans createExtensionContext() .
|
File — Occurrence de File pour le répertoire dans lequel l’extension est installée.
|
Valeur émise
TypeError — Le paramètre extensionID ne doit pas être nul.
| |
ArgumentError — La valeur spécifiée pour l’argument extensionID n’est pas valide. Le répertoire de n’existe pas.
|
status | Evénement |
flash.events.StatusEvent
propriété StatusEvent.type =
flash.events.StatusEvent.STATUS
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.5 |
La classe ExtensionContext fournit une interface pour les appels de fonctions dans l’implémentation native d’une extension native pour Adobe AIR. Vous pouvez utiliser cette classe uniquement dans les classes ActionScript qui font partie de l’extension.
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur les périphériques mobiles à partir d’AIR 3. Elle est également prise en charge à partir d’AIR 3 sur les périphériques de bureau dans des applications qui utilisent le profil de périphérique extendedDesktop
. Elle est prise en charge sur les périphériques AIR pour TV à partir d’AIR 2.5 dans des applications qui utilisent le profil de périphérique extendedTV
.
Une extension native est une combinaison de :
- Classes ActionScript.
- Code natif. Le code natif est le code qui s’exécute sur un périphérique à l’extérieur du moteur d’exécution. Par exemple, le code que vous écrivez dans C est un code natif.
Vous pouvez créer une extension native pour :
- Permettre à une application AIR d’accéder aux fonctions propres à un périphérique.
- Réutiliser le code natif existant.
- Fournir un traitement plus efficace à l’aide du code natif par rapport au code ActionScript.
Utilisez la classe ExtensionContext du côté d’une extension ActionScript pour accéder au côté natif de l’extension. Commencez par créer une occurrence de la classe ExtensionContext. Pour ce faire, appelez la méthode statique ExtensionContext.createExtensionContext()
.
Après la création de l’occurrence de la classe ExtensionContext, utilisez la méthode call()
de l’occurrence pour appeler une fonction native.
Lorsque vous avez terminé d’utiliser l’occurrence de la classe ExtensionContext, appelez la méthode dispose()
pour libérer toutes les ressources natives associées. Sans un appel explicite à la méthode dispose()
, le nettoyeur du moteur d’exécution appelle dispose()
lorsqu’il supprime l’occurrence. Un appel explicite à la méthode dispose()
se produit généralement beaucoup plus tôt que d’attendre le nettoyeur.
Une occurrence de la classe ExtensionContext peut écouter les événements StatusEvent que le code natif distribue lorsque certains événements asynchrones se produisent dans l’implémentation native de l’extension. Etant donné que la classe ExtensionContext dérive de EventDispatcher, elle peut à son tour distribuer des événements.
Définit la valeur de la propriététype
d’un objet événement status
.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
code | Description de l’état de l’objet. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
level | Catégorie du message, telle que "status" , "warning" ou "error" . |
target | Objet publiant son état. |
Tue Jun 12 2018, 09:30 AM Z