Pakket | flash.external |
Klasse | public final class ExtensionContext |
Overerving | ExtensionContext EventDispatcher Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
De ExtensionContext-klasse biedt ook de statische methode getExtensionDirectory()
, waarmee u toegang krijgt tot de map waarin de extensie op het apparaat is geïnstalleerd. De klasse biedt ook de eigenschap actionScriptData
, waarmee u gegevens kunt delen met de native implementatie van de extensie.
Opmerking: AIR-toepassingen met het profiel extendedDesktop
kunnen native processen uitvoeren met behulp van de NativeProcess-klasse.
Meer voorbeelden
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
actionScriptData : Object
Het ActionScript-object (indien van toepassing) dat is gekoppeld aan deze context. | ExtensionContext | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object |
Methode | Gedefinieerd door | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt. | EventDispatcher | ||
Roept de native functie aan die wordt opgegeven door functionName. | ExtensionContext | ||
[statisch]
Maakt een ExtensionContext-instantie voor de opgegeven extensie-id en type context. | ExtensionContext | ||
Verzendt een gebeurtenis naar de gebeurtenisstroom. | EventDispatcher | ||
Verwijdert deze ExtensionContext-instantie. | ExtensionContext | ||
[statisch]
Retourneert de map waarin de extensie is geïnstalleerd op het apparaat. | ExtensionContext | ||
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis. | EventDispatcher | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert een listener uit het object EventDispatcher. | EventDispatcher | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object | ||
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis. | EventDispatcher |
Gebeurtenis | Overzicht | Gedefinieerd door | ||
---|---|---|---|---|
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de besturingssysteemfocus krijgt en actief wordt. | EventDispatcher | |||
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de systeemfocus verliest en inactief wordt. | EventDispatcher | |||
De ExtensionContext-klasse biedt een interface voor het aanroepen van functies in de native implementatie van een native extensie voor Adobe AIR. | ExtensionContext |
actionScriptData | eigenschap |
actionScriptData:Object
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
Het ActionScript-object (indien van toepassing) dat is gekoppeld aan deze context.
U kunt elk ActionScript-object koppelen aan een ExtensionContext-instantie. De native implementatie kan dit ActionScript-object ook ophalen en instellen. Daarom kunt u actionScriptData
gebruiken om gegevens te delen tussen de ActionScript-zijde en de native zijde van een extensie.
U kunt de waarde van actionScriptData
ook instellen op null
.
Implementatie
public function get actionScriptData():Object
public function set actionScriptData(value:Object):void
Gegenereerde uitzondering
IllegalOperationError — De methode dispose() is al eerder aangeroepen bij deze ExtensionContext-instantie.
|
call | () | methode |
public function call(functionName:String, ... args):Object
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
Roept de native functie aan die wordt opgegeven door functionName
. Eventuele extra argumenten worden doorgegeven aan de native functie.
Parameters
functionName:String — Deze naam staat voor een functie in de native implementatie. De naam hoeft niet de werkelijke naam van de native functie te zijn. Het kan elke naam zijn die is overeengekomen tussen de ActionScript-zijde en de native zijde van de extensie.
| |
... args — Een lijst met argumenten voor de native functie. Deze argumenten kunnen bestaan uit willekeurige ActionScript-objecten: primitieve typen of ActionScript-klassenobjecten. De typen argumenten en de volgorde ervan moet zijn overeengekomen tussen de ActionScript-zijde en de native zijde van de extensie.
|
Object — De waarde die door de native functie wordt geretourneerd. De waarde null wordt geretourneerd als de native functie geen retourwaarde heeft of als de functie een ongeldige objectverwijzing retourneert.
|
Gegenereerde uitzondering
ArgumentError — Er is geen functie die overeenkomt met de naam die door functionName is opgegeven.
| |
IllegalOperationError — De methode dispose() is al eerder aangeroepen bij deze ExtensionContext-instantie. Deze fout treedt ook op als de native functie een ongeldige objectverwijzing retourneert.
|
createExtensionContext | () | methode |
public static function createExtensionContext(extensionID:String, contextType:String):ExtensionContext
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
Maakt een ExtensionContext-instantie voor de opgegeven extensie-id en type context.
Parameters
extensionID:String — De extensie-id van de extensie. Deze id heeft dezelfde waarde als het element id in het beschrijvingsbestand van de extensie. Deze waarde wordt ook door ontwikkelaars van toepassingen gebruikt in het element extensionID van het beschrijvingsbestand van de toepassing. Alle extensies delen een enkele, globale naamruimte. Om conflicten met namen te voorkomen, moet u een omgekeerde DNS-notatie gebruiken voor de extensie-id.
| |
contextType:String — Het type context van de extensie. Afhankelijk van het type context kan de native implementatie verschillende initialisaties uitvoeren. Hieronder valt de native implementatie waarbij een verschillende set met beschikbare native functies wordt opgegeven die door de ActionScript-zijde kunnen worden aangeroepen. De waarde van het type context is elke tekenreeks die is overeengekomen tussen de ActionScript-zijde en de native zijde van de extensie. Eenvoudige extensies hebben vaak geen toepassing voor verschillende typen context. In die gevallen moet u een lege tekenreeks "" of null doorgeven voor de waarde contextType .
|
ExtensionContext — De nieuwe ExtensionContext-instantie. Retourneert null als er geen extensie met de gegeven extensionID -waarde beschikbaar is of als de context-initializerfunctie die in het document extension.xml voor de gegeven extensionID is opgegeven, niet kan worden gevonden of uitgevoerd.
|
Gegenereerde uitzondering
ArgumentError — De parameter extensionID is null of een ongeldige extensie-id.
|
dispose | () | methode |
public function dispose():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
Verwijdert deze ExtensionContext-instantie.
De runtime informeert de native implementatie die eventuele gekoppelde native bronnen kan vrijgeven. Nadat dispose()
is aangeroepen, kan de methode call()
niet meer door de code worden aangeroepen en kan de eigenschap actionScriptData
niet meer worden ingesteld.
getExtensionDirectory | () | methode |
public static function getExtensionDirectory(extensionID:String):File
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
Retourneert de map waarin de extensie is geïnstalleerd op het apparaat.
Soms bevat een extensie bronnen (zoals afbeeldingen) die u via de ActionScript-code van de extensie toegankelijk wilt maken. Soms vereist de code ook informatie die beschikbaar is in het beschrijvingsbestand van de extensie, zoals het versienummer van de extensie. Via deze methode krijgt u toegang tot de basismap van de extensie.
In relatie tot de basismap van de extensie staan de bestanden van de extensie altijd in dezelfde locatie. Dit is onafhankelijk van de locatie van de extensie op het apparaat. Met de File-instantie die wordt geretourneerd door deze methode, kunt u navigeren naar specifieke bestanden die in de extensie zijn opgenomen en deze bestanden bewerken.
De extensiemap heeft de volgende structuur:
extension base directory/ platform independent files META-INF/ ANE/ extension.xml platform name/ platform-dependent files and directories
De locatie van de extensiemap is afhankelijk van het type bundeling (toepassings- of apparaatbundeling) door middel waarvan de extensie beschikbaar is, als volgt:
- Bij toepassingsbundeling bevindt de extensiemap zich binnen de toepassingsmap.
- Bij apparaatbundeling is de locatie van de extensiemap afhankelijk van het apparaat.
Voor native extensies voor iOS-apparaten geldt een uitzondering op het gebruik van getExtensionDirectory()
. De bronnen voor deze extensies bevinden zich niet in de extensiemap maar in de toepassingsmap op het hoogste niveau.
Parameters
extensionID:String — De extensie-id van de extensie. Deze id heeft dezelfde waarde als de parameterextensionID in createExtensionContext() .
|
File — Een File-instantie voor de map waarin de extensie is geïnstalleerd.
|
Gegenereerde uitzondering
TypeError — De parameter extensionID mag niet null zijn.
| |
ArgumentError — De opgegeven waarde voor argument extensionID is ongeldig. De map bestaat niet.
|
status | Gebeurtenis |
flash.events.StatusEvent
eigenschap StatusEvent.type =
flash.events.StatusEvent.STATUS
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2.5 |
De ExtensionContext-klasse biedt een interface voor het aanroepen van functies in de native implementatie van een native extensie voor Adobe AIR. U kunt deze klasse alleen gebruiken in ActionScript-klassen die onderdeel vormen van de extensie.
AIR-profielondersteuning: deze functie wordt ondersteund op mobiele apparaten vanaf AIR 3. De functie wordt ook ondersteund op bureaubladapparaten vanaf AIR 3 in toepassingen die gebruikmaken van het extendedDesktop
-apparaatprofiel. De functie wordt ondersteund op AIR voor TV-apparaten vanaf AIR 2.5 in toepassingen die gebruikmaken van het extendedTV
-apparaatprofiel.
Een native extensie is een combinatie van:
- ActionScript-klassen.
- Native code. Native code is code die op een apparaat buiten de runtime wordt uitgevoerd. Native code is bijvoorbeeld code die in C is geschreven.
U kunt een native extensie maken voor:
- Een AIR-toepassing toegang geven tot apparaatspecifieke functies.
- Native code opnieuw gebruiken.
- Verwerking met behulp van native code efficiënter maken dan mogelijk is met ActionScript-code.
Met de ExtensionContext-klasse aan de ActionScript-zijde van een extensie kunt u de native zijde van de extensie toegankelijk maken. Maak eerst een instantie van de ExtensionContext-klasse. Hiervoor roept u de statische methode ExtensionContext.createExtensionContext()
aan.
Nadat u de ExtensionContext-instantie hebt gemaakt, gebruikt u de methode call()
van de instantie om een native functie aan te roepen.
Wanneer u gereed bent met een ExtensionContext-instance, roept u dispose()
aan om eventuele gekoppelde native bronnen vrij te geven. Zonder expliciete aanroep aan dispose()
, wordt dispose()
aangeroepen door de opschoningsfunctie van de runtime tijdens het verwijderen van de instantie. Een expliciete aanroep aan dispose()
treedt gewoonlijk veel eerder op dan te wachten op de opschoningsfunctie.
Een ExtensionContext-instantie kan luisteren naar StatusEvent-gebeurtenissen die door de native code worden verzonden wanneer er asynchrone gebeurtenissen optreden in de native implementatie van de extensie. Aangezien de ExtensionContext-klasse wordt afgeleid van EventDispatcher, kan de klasse op zijn beurt gebeurtenissen verzenden.
Definieert de waarde van de eigenschaptype
van een gebeurtenisobject status
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
code | Beschrijving van de status van het object. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
level | De categorie van het bericht, zoals "status" , "warning" of "error" . |
target | Het object dat zijn status rapporteert. |
Wed Jun 13 2018, 11:42 AM Z