Ett AIR-program anropas när användaren (eller operativsystemet):
Startar programmet från skrivbordsskalet.
Använder programmet som ett kommando i ett kommandoradsskal.
Öppnar en typ av fil som programmet är standardprogram för.
(Mac OS X) Klickar på programikonen i aktivitetsfältet (oavsett om programmet körs eller inte).
Väljer att starta programmet från installationsprogrammet (antingen i slutet av en ny installationsprocess eller efter att ha dubbelklickat på AIR-filen för ett redan installerat program).
Börjar en uppdatering av ett AIR-program när den installerade versionen har signalerat att den hanterar programuppdateringar själv (genom att ta med en <customUpdateUI>true</customUpdateUI>-deklaration i programbeskrivningsfilen).
Besöker en webbsida som är värd för ett Flash-emblem eller ett program som anropar metoden com.adobe.air.AIR launchApplication() som anger ID-information för AIR-programmet. (Programbeskrivningen måste också omfatta en <allowBrowserInvocation>true</allowBrowserInvocation>-deklaration om webbläsaranrop ska lyckas.)
När ett AIR-program anropas skickas ett InvokeEvent-objekt av typen invoke via singleton-objektet NativeApplication. För att en programtid ska kunna initiera sig själv och registrera en händelseavlyssnare måste invoke-händelser ställas i kö i stället för att tas bort. Så snart en avlyssnare är registrerad levereras alla händelser som står i kö.
Obs! När ett program anropas med hjälp av webbläsarens anropsfunktion skickar objektet NativeApplication bara en invoke-händelse om programmet inte redan körs.
Om du vill ta emot invoke-händelser måste du anropa NativeApplication-objektets addEventListener()-metod (NativeApplication.nativeApplication). När en händelseavlyssnare registrerar sig till en invoke-händelse, kommer den också att få alla invoke-händelser som har inträffat före registreringen. invoke-händelser som står i kö skickas en i taget med korta intervall efter att anropet till addEventListener() returnerats. Om en ny invoke-händelse inträffar under den här processen kan den skickas före en eller flera av händelserna som står i kö. Tack vare det här kösystemet kan du hantera invoke-händelser som inträffar innan initieringskoden körs. Kom ihåg, att om du lägger till en händelseavlyssnare senare i körningen (efter programinitieringen) kommer den fortfarande att få alla invoke-händelser som har inträffat sedan programmet startade.
Bara en instans av ett AIR-program startar. När ett program som redan körs anropas igen, skickas en ny invoke-händelse till den instans som körs. Det åligger ett AIR-program att svara på en invoke-händelse och vidta rätt åtgärd (till exempel att öppna ett nytt dokumentfönster).
Ett InvokeEvent-objekt innehåller alla argument som skickas till programmet samt katalogen som programmet anropas från. Om programmet anropades med anledning av av en filtypsassociation, ingår den fullständiga sökvägen till filen i kommandoradsargumenten. Om programmet anropades med anledning av en programuppdatering anges också den fullständiga sökvägen till uppdateringsfilen.
Om flera filer öppnas i en åtgärd skickas ett enskilt InvokeEvent-objekt på Mac OS X. Varje fil inkluderas i argument-arrayen. På Windows och Linux skickas ett separat InvokeEvent-objekt för varje fil.
Programmet kan hantera invoke-händelser genom att registrera en avlyssnare med NativeApplication-objektet:
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvokeEvent);
Och definiera en händelseavlyssnare:
var arguments:Array;
var currentDir:File;
public function onInvokeEvent(invocation:InvokeEvent):void {
arguments = invocation.arguments;
currentDir = invocation.currentDirectory;
}