ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.external 

ExtensionContext  - AS3

Paketflash.external
Klassepublic final class ExtensionContext
VererbungExtensionContext Inheritance EventDispatcher Inheritance 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



Öffentliche Eigenschaften
 EigenschaftDefiniert von
      actionScriptData : Object
Das ActionScript-Objekt, falls vorhanden, das mit diesem Kontext verknüpft ist.
ExtensionContext
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
Öffentliche Methoden
 MethodeDefiniert von
 Inherited
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
  
    call(functionName:String, ... args):Object
Ruft die native Funktion auf, die durch functionName angegeben wird.
ExtensionContext
  
    createExtensionContext(extensionID:String, contextType:String):ExtensionContext
[statisch] Erstellt eine ExtensionContext-Instanz für den gegebenen Erweiterungsbezeichner und Kontexttyp.
ExtensionContext
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
  
    dispose():void
Verwirft diese ExtensionContext-Instanz.
ExtensionContext
  
    getExtensionDirectory(extensionID:String):File
[statisch] Gibt das Verzeichnis zurück, in dem die Erweiterung auf dem Gerät installiert ist.
ExtensionContext
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
  
    status
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
Eigenschaftendetails
    

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.
Methodendetails

    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.

Rückgabewerte
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.

Rückgabewerte
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().

Rückgabewerte
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.
Ereignisdetails
    

status

Ereignis
Ereignisobjekttyp: 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 Eigenschaft type eines status-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
codeEine Beschreibung des Objektstatus.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
EbeneDie Kategorie der Meldung, z. B. "status", "warning" oder "error".
targetDas Objekt, dessen Status gemeldet wird.




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.