Paket | flash.external |
Klasse | public final class ExtensionContext |
Vererbung | ExtensionContext EventDispatcher Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Die ExtensionContext-Klasse stellt auch die statische getExtensionDirectory()
-Methode bereit, um auf den Ordner zuzugreifen, in dem die Erweiterung auf dem Gerät installiert wurde. Sie stellt auch die actionScriptData
-Eigenschaft bereit, um Daten mit der nativen Implementierung der Erweiterung gemeinsam zu verwenden.
Hinweis: AIR-Anwendungen, die das extendedDesktop
-Profil verwenden, können mit der NativeProcess-Klasse native Prozesse ausführen.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
actionScriptData : Object
Das ActionScript-Objekt, falls vorhanden, das mit diesem Kontext verknüpft ist. | ExtensionContext | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object |
Methode | Definiert von | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | EventDispatcher | ||
Ruft die native Funktion auf, die durch functionName angegeben wird. | ExtensionContext | ||
[statisch]
Erstellt eine ExtensionContext-Instanz für den gegebenen Erweiterungsbezeichner und Kontexttyp. | ExtensionContext | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Verwirft diese ExtensionContext-Instanz. | ExtensionContext | ||
[statisch]
Gibt das Verzeichnis zurück, in dem die Erweiterung auf dem Gerät installiert ist. | ExtensionContext | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
Ereignis | Übersicht | Definiert von | ||
---|---|---|---|---|
[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | |||
[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird. | EventDispatcher | |||
Die ExtensionContext-Klasse stellt eine Schnittstelle für den Aufruf von Funktionen in der nativen Implementierung einer nativen Erweiterung für Adobe AIR bereit. | ExtensionContext |
actionScriptData | Eigenschaft |
actionScriptData:Object
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Das ActionScript-Objekt, falls vorhanden, das mit diesem Kontext verknüpft ist.
Sie können ein beliebiges ActionScript-Objekt mit einer ExtensionContext-Instanz verknüpfen. Die native Implementierung kann dieses ActionScript-Objekt ebenfalls abrufen und festlegen. Deshalb können Sie actionScriptData
verwenden, um Daten auf der ActionScript-Seite und der nativen Seite einer Erweiterung gemeinsam zu verwenden.
Sie können den Wert von actionScriptData
auch auf null
setzen.
Implementierung
public function get actionScriptData():Object
public function set actionScriptData(value:Object):void
Auslöser
IllegalOperationError — Die dispose() -Methode wurde bereits für diese ExtensionContext-Instanz aufgerufen.
|
call | () | Methode |
public function call(functionName:String, ... args):Object
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Ruft die native Funktion auf, die durch functionName
angegeben wird. Alle zusätzlichen Argumente werden an die native Funktion übergeben.
Parameter
functionName:String — Ein Name, der eine Funktion in der nativen Implementierung repräsentiert. Dieser Name ist nicht notwendigerweise der tatsächliche Name der nativen Funktion, sondern ein beliebiger Name, auf den sich die ActionScript-Seite und die native Seite der Erweiterung verständigt haben.
| |
... args — Eine Liste von Argumenten für die native Funktion. Diese Argumente können beliebige ActionScript-Objekte sein: Grundtypen oder ActionScript-Klassenobjekte. Die ActionScript-Seite und die native Seite der Erweiterung verständigen sich auf die Typen und die Reihenfolge der Argumente.
|
Object — Der Wert, der von der nativen Funktion zurückgegeben wird. Der Rückgabewert ist null , wenn die native Funktion keinen Rückgabewert hat oder einen ungültigen Objektverweis zurückgibt.
|
Auslöser
ArgumentError — Keine Funktion entspricht dem Namen, der mit functionName angegeben wird.
| |
IllegalOperationError — Die dispose() -Methode wurde bereits für diese ExtensionContext-Instanz aufgerufen. Dieser Fehler wird auch ausgegeben, wenn die native Funktion einen ungültigen Objektverweis zurückgibt.
|
createExtensionContext | () | Methode |
public static function createExtensionContext(extensionID:String, contextType:String):ExtensionContext
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Erstellt eine ExtensionContext-Instanz für den gegebenen Erweiterungsbezeichner und Kontexttyp.
Parameter
extensionID:String — Der Erweiterungsbezeichner der Erweiterung. Dieser Bezeichner hat denselben Wert wie das id -Element in der Erweiterungsdeskriptordatei. Anwendungsentwickler verwenden diesen Wert auch im extensionID -Element in der Anwendungsdeskriptordatei. Alle Erweiterungen teilen sich einen allgemeinen Namespace. Um Namenskonflikte zu vermeiden, verwenden Sie die umgekehrte DNS-Schreibung für den Erweiterungsbezeichner.
| |
contextType:String — Der Kontexttyp der Erweiterung. Je nach Kontexttyp kann die native Implementierung verschiedene Initialisierungen ausführen. Zum Beispiel kann die native Implementierung einen anderen Satz verfügbarer nativer Funktionen angeben, die die ActionScript-Seite aufrufen kann. Der Wert des Kontexttyps ist ein beliebiger String, auf den sich die ActionScript-Seite und die native Seite der Erweiterung verständigt haben. Einfache Erweiterungen haben oft keine Verwendung für verschiedene Kontexttypen. Übergeben Sie in diesen Fällen einen leeren String "" oder null als contextType -Wert.
|
ExtensionContext — Die neue ExtensionContext-Instanz. Gibt null zurück, wenn keine Erweiterung mit dem angegebenen extensionID -Wert verfügbar ist oder wenn die in der extension.xml-Datei angegebene Kontextinitialisiererfunktion für die gegebene extensionID nicht gefunden oder ausgeführt werden kann.
|
Auslöser
ArgumentError — Der extensionID -Parameter ist null oder keine gültige Erweiterungs-ID.
|
dispose | () | Methode |
public function dispose():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Verwirft diese ExtensionContext-Instanz.
Die Laufzeitumgebung benachrichtigt die native Implementierung, die alle verknüpften nativen Ressourcen freigeben kann. Nach dem Aufruf der dispose()
-Methode kann der Code nicht die call()
-Methode aufrufen und kann die actionScriptData
-Eigenschaft weder abrufen noch festlegen.
getExtensionDirectory | () | Methode |
public static function getExtensionDirectory(extensionID:String):File
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Gibt das Verzeichnis zurück, in dem die Erweiterung auf dem Gerät installiert ist.
Manchmal schließt eine Erweiterung Ressourcen, zum Beispiel Bilder, ein, auf die Sie aus dem ActionScript-Code der Erweiterung zugreifen möchten. Manchmal sind für den Code auch Informationen erforderlich, die in der Anwendungsdeskriptordatei der Erweiterung verfügbar sind, zum Beispiel die Versionsnummer der Erweiterung. Mit dieser Methode können Sie auf das Basisverzeichnis der Erweiterung zugreifen.
Unabhängig davon, wo sich die Erweiterung auf dem Gerät befindet, sind die Erweiterungsdateien immer an demselben Speicherort in Relation zu diesem Basisverzeichnis der Erweiterung. Mit der File-Instanz, die diese Methode zurückgibt, können Sie zu bestimmten Dateien, die in der Erweiterung enthalten sind, navigieren und darauf zugreifen.
Der Erweiterungsordner hat die folgende Struktur:
extension base directory/ platform independent files META-INF/ ANE/ extension.xml platform name/ platform-dependent files and directories
Der Speicherort des Erweiterungsordners ist davon abhängig, ob die Erweiterung wie nachstehend gezeigt durch Anwendungsbündelung oder Gerätebündelung verfügbar ist:
- Bei Anwendungsbündelung befindet sich der Erweiterungsordner innerhalb des Anwendungsordners.
- Bei Gerätebündelung ist der Speicherort des Erweiterungsordners geräteabhängig.
Eine Ausnahme zur Verwendung von getExtensionDirectory()
besteht für native Erweiterungen für iOS-Geräte. Die Ressourcen für diese Erweiterungen befinden sich nicht im Erweiterungsordner. Sie befinden sich im Anwendungsordner auf der obersten Ebene.
Parameter
extensionID:String — Der Erweiterungsbezeichner der Erweiterung. Dieser Bezeichner hat denselben Wert wie der extensionID -Parameter in createExtensionContext() .
|
File — Eine File-Instanz für das Verzeichnis, in dem die Erweiterung installiert wurde.
|
Auslöser
TypeError — Der extensionID -Parameter darf nicht null sein.
| |
ArgumentError — Der angegebene Wert für Argument extensionID ist ungültig. Das Verzeichnis ist nicht vorhanden.
|
status | Ereignis |
flash.events.StatusEvent
Eigenschaft StatusEvent.type =
flash.events.StatusEvent.STATUS
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.5 |
Die ExtensionContext-Klasse stellt eine Schnittstelle für den Aufruf von Funktionen in der nativen Implementierung einer nativen Erweiterung für Adobe AIR bereit. Sie können diese Klasse nur in ActionScript-Klassen verwenden, die Teil der Erweiterung sind.
Unterstützung von AIR-Profilen: Diese Funktion wird ab AIR 3 auf mobilen Geräten unterstützt. Sie wird ab AIR 3 auch auf Desktops unterstützt in Anwendungen, die das Geräteprofil extendedDesktop
verwenden. Sie wird ab AIR 2.5 auf AIR-für-TV-Geräten unterstützt in Anwendungen, die das Geräteprofil extendedTV
verwenden.
Eine native Erweiterung ist eine Kombination aus:
- ActionScript-Klassen.
- Nativem Code. Nativer Code ist Code, der außerhalb der Laufzeitumgebung auf einem Gerät ausgeführt wird. Beispiel: In C geschriebener Code ist nativer Code.
Sie können eine native Erweiterung erstellen, um
- Einer AIR-Anwendung den Zugriff auf gerätespezifische Funktionen zu ermöglichen
- Vorhandenen nativen Code wiederzuverwenden.
- Effizientere Verarbeitung mit nativem Code bereitstellen, als es mit ActionScript-Code möglich ist.
Verwenden Sie die ExtensionContext-Klasse auf der ActionScript-Seite einer Erweiterung, um auf die native Seite der Erweiterung zuzugreifen. Erstellen Sie zuerst eine Instanz der ExtensionContext-Klasse. Rufen Sie dazu die statische ExtensionContext.createExtensionContext()
-Methode auf.
Nach dem Erstellen der ExtensionContext-Instanz rufen Sie mit der call()
-Methode der Instanz eine native Funktion auf.
Wenn Sie mit einer ExtensionContext-Instanz fertig sind, rufen Sie dispose()
auf, um ggf. verknüpfte native Ressourcen freizugeben. Ohne einen expliziten Aufruf von dispose()
ruft die automatische Speicherbereinigung (Garbage Collector) der Laufzeitumgebung dispose()
auf, wenn sie die Instanz entfernt. Ein expliziter Aufruf von dispose()
tritt normalerweise viel früher auf als die automatische Speicherbereinigung.
Eine ExtensionContext-Instanz kann auf StatusEvent-Ereignisse warten, die der native Code absetzt, wenn ein asynchrones Ereignis in der nativen Implementierung der Erweiterung auftritt. Da die ExtensionContext-Klasse von der EventDispatcher-Klasse abgesetzt wird, kann sie Ereignisse absetzen.
Definiert den Wert der Eigenschafttype
eines status
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
code | Eine Beschreibung des Objektstatus. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
Ebene | Die Kategorie der Meldung, z. B. "status" , "warning" oder "error" . |
target | Das Objekt, dessen Status gemeldet wird. |
Tue Jun 12 2018, 10:04 AM Z