Paket | flash.external |
Klass | public final class ExtensionContext |
Arv | ExtensionContext EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Klassen ExtensionContext tillhandahåller även den statiska metoden getExtensionDirectory()
för att få tillgång till den katalog i vilken tillägget har installerats på enheten. Den tillhandahåller också en egenskap, actionScriptData
, för att dela data med tilläggets inbyggda implementering.
Obs! AIR-program som använder profilen extendedDesktop
kan använda klassen NativeProcess för att köra inbyggda processer.
Fler exempel
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
actionScriptData : Object
Det ActionScript-objekt, om ett sådant finns, som är associerat med det här sammanhanget. | ExtensionContext | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object |
Metod | Definieras med | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
Anropar den inbyggda funktion som anges av functionName. | ExtensionContext | ||
[statisk]
Skapar en ExtensionContext-instans för den angivna tilläggsidentifieraren och sammanhangstypen. | ExtensionContext | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Släpper den här ExtensionContext-instansen. | ExtensionContext | ||
[statisk]
Returnerar den katalog i vilken tillägget har installerats på enheten. | ExtensionContext | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
Händelse | Sammanfattning | Definieras med | ||
---|---|---|---|---|
[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt. | EventDispatcher | |||
[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt. | EventDispatcher | |||
Klassen ExtensionContext erbjuder ett gränssnitt för anrop av funktioner i den systemspecifika implementeringen av en ANE-fil för Adobe AIR. | ExtensionContext |
actionScriptData | egenskap |
actionScriptData:Object
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Det ActionScript-objekt, om ett sådant finns, som är associerat med det här sammanhanget.
Du kan associera alla ActionScript-objekt med ExtensionContext-instanser. Den inbyggda implementeringen kan även hämta och ange det här ActionScript-objektet. Därför kan du använda actionScriptData
för att dela data mellan ActionScript-sidan och den inbyggda sidan av tillägget.
Du kan också ange värdet på actionScriptData
som null
.
Implementering
public function get actionScriptData():Object
public function set actionScriptData(value:Object):void
Utlöser
IllegalOperationError — Metoden dispose() har redan anropats på den här ExtensionContext-instansen.
|
call | () | metod |
public function call(functionName:String, ... args):Object
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Anropar den inbyggda funktion som anges av functionName
. Eventuella ytterligare argument skickas till den inbyggda funktionen.
Parametrar
functionName:String — Ett namn som representerar en funktion i den inbyggda implementeringen. Det här namnet är inte nödvändigtvis den inbyggda funktionens faktiska namn, men ett namn som "avtalats" mellan ActionScript-sidan och den inbyggda sidan av tillägget.
| |
... args — En lista med argument för den inbyggda funktionen. De här argumenten kan vara alla typer av ActionScript-objekt: primitiva typer eller objekt i ActionScript-klasser. Argumentens typer och ordning "avtalas" mellan ActionScript-sidan och den inbyggda sidan av tillägget.
|
Object — Det värde som returneras av den inbyggda funktionen. Returvärdet är null om den inbyggda funktionen saknar returvärde eller returnerar en ogiltig objektreferens.
|
Utlöser
ArgumentError — Ingen funktion motsvarar det namn som anges av functionName .
| |
IllegalOperationError — Metoden dispose() har redan anropats på den här ExtensionContext-instansen. Det här felet genereras också om den inbyggda funktionen returnerar en ogiltig objektreferens.
|
createExtensionContext | () | metod |
public static function createExtensionContext(extensionID:String, contextType:String):ExtensionContext
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Skapar en ExtensionContext-instans för den angivna tilläggsidentifieraren och sammanhangstypen.
Parametrar
extensionID:String — Tilläggets identifierare. Den här identifieraren har samma värde som elementet id i tilläggets beskrivningsfil. Programutvecklare använder även det här värdet i elementet extensionID i programbeskrivningsfilen. Alla tillägg delar ett och samma globala namnutrymme. För att undvika namnkonflikter bör du därför använda omvänd DNS-notation för tilläggsidentifieraren.
| |
contextType:String — Tilläggets sammanhangstyp. Beroende på sammanhangstypen kan den inbyggda implementeringen utföra olika initieringar. En skillnad kan till exempel vara att den inbyggda implementeringen anger en annan uppsättning med tillgängliga inbyggda funktioner som ActionScript-sidan kan anropa. Värdet på sammanhangstypen är en sträng som "avtalats" mellan ActionScript-sidan och den inbyggda sidan av tillägget. Enkla tillägg har ofta inget behov av olika sammanhangstyper. I de fallen skickar du en tom sträng "" eller null för contextType -värdet.
|
ExtensionContext — Den nya ExtensionContext-instansen. Returnerar null om inget tillägg med det givna extensionID -värdet är tillgängligt eller om funktionen för kontextinitieraren som är angiven i extension.xml-dokumentet för givetextensionID inte kan hittas eller köras.
|
Utlöser
ArgumentError — Parametern extensionID är null eller är inget giltigt ID för tillägg.
|
dispose | () | metod |
public function dispose():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Släpper den här ExtensionContext-instansen.
Miljön meddelar den inbyggda implementeringen, som kan frisläppa eventuella associerade inbyggda resurser. Efter anropet till dispose()
kan koden inte anropa metoden call()
och inte heller hämta eller ange egenskapen actionScriptData
.
getExtensionDirectory | () | metod |
public static function getExtensionDirectory(extensionID:String):File
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Returnerar den katalog i vilken tillägget har installerats på enheten.
Ibland innehåller ett tillägg resurser som exempelvis bilder, som du vill komma åt från tilläggets ActionScript-kod. Ibland kräver koden också information som finns i tilläggets beskrivningsfil, t.ex. tilläggets versionsnummer. Du kan använda den här metoden för att komma åt tilläggets baskatalog.
Oavsett var på enheten tillägget finns, finns tilläggets filer alltid på samma plats i förhållande till dess baskatalog. Om du använder den File-instans som returneras av den här metoden kan du navigera till och hantera utvalda filer som ingår i tillägget.
Tilläggets katalog har följande struktur:
extension base directory/ platform independent files META-INF/ ANE/ extension.xml platform name/ platform-dependent files and directories
Platsen för tilläggets katalog beror på om tillägget är tillgängligt genom program- eller enhetssammankoppling enligt följande:
- Vid programsammankoppling finns tilläggets katalog i programkatalogen.
- Vid enhetsammankoppling beror platsen för tilläggets katalog på enheten.
Ett alternativ till att använda getExtensionDirectory()
finns för systemspecifika tillägg för iOS-enheter. Resurserna för dessa tillägg finns inte i tilläggets katalog. Den finns i stället på toppnivån i programkatalogen.
Parametrar
extensionID:String — Tilläggets identifierare. Den här identifieraren har samma värde som parametern extensionID i createExtensionContext() .
|
File — En File-instans för den katalog i vilken tillägget har installerats.
|
Utlöser
TypeError — Parametern extensionID får inte vara null.
| |
ArgumentError — Det värde som anges för argumentetextensionID är ogiltigt. Katalogen finns inte.
|
status | Händelse |
flash.events.StatusEvent
egenskap StatusEvent.type =
flash.events.StatusEvent.STATUS
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5 |
Klassen ExtensionContext erbjuder ett gränssnitt för anrop av funktioner i den systemspecifika implementeringen av en ANE-fil för Adobe AIR. Du kan bara använda den här klassen i ActionScript-klasser som ingår i tillägget.
Stöd för AIR-profil: Den här funktionen stöds på mobila enheter från och med AIR 3. Den stöds även från och med AIR 3 på stationära datorer i program där enhetsprofilen extendedDesktop
används. Den stöds på AIR for TV-enheter från och med AIR 2.5 i program där enhetsprofilen extendedTV
används.
Ett systemspecifikt tillägg består av en kombination av:
- Klassen ActionScript.
- Inbyggd kod. Inbyggd kod är kod som körs utanför AIR-miljön på en enhet. Kod som du skriver i C är till exempel inbyggd.
Du kan skapa ett systemspecifika tillägg för att:
- Ge ett AIR-program åtkomst till enhetsspecifika funktioner.
- Återanvända befintlig inbyggd kod.
- Tillhandahålla mer effektiv bearbetning med inbyggd kod som du kan komplettera med ActionScript-kod.
Använd klassen ExtensionContext på ActionScript-sidan av ett tillägg för att komma åt den inbyggda delen av tillägget. Skapa först en instans av klassen ExtensionContext. Det gör du genom att anropa den statiska metoden ExtensionContext.createExtensionContext()
.
När du har skapat ExtensionContext-instansen använder du instansens call()
-metod för att anropa en inbyggd funktion.
När du är klar med en ExtensionContext-instans anropar du dispose()
för att frisläppa eventuella associerade inbyggda resurser. Utan ett explicit anrop till dispose()
anropar miljöns skräpinsamlare dispose()
när den släpper instansen. Ett explicit anrop till dispose()
går oftast fortare än att vänta på skräpinsamlaren.
En ExtensionContext-instans kan lyssna efter StatusEvent-händelser som den inbyggda koden skickar när en asynkron händelse inträffar i tilläggets inbyggda implementering. Eftersom klassen ExtensionContext härleds från EventDispatcher kan den i sin tur skicka händelser.
Definierar värdet för ettstatus
-händelseobjekts type
-egenskap.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
kod | En beskrivning av objektets status. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
nivå | Meddelandets kategori, till exempel "status" , "warning" eller "error" . |
target | Objektet rapporterar status. |
Tue Jun 12 2018, 01:40 PM Z