Arbeta med körtids- och operativsystemsinformation i AIR

Adobe AIR 1.0 och senare

I detta avsnitt beskrivs hur ett AIR-program kan hantera filassociationer i operativsystemet, identifiera användaraktivitet och hämta information om Adobe® AIR®-miljön.

Hantera filassociationer

Associationer mellan ditt program och en filtyp måste deklareras i programbeskrivningen. Under installationsprocessen associerar AIR-programinstalleraren AIR-programmet som standardprogram för att öppna filer för var och en av de deklarerade filtyperna, om inte ett annat program redan är standard. Installationsprocessen för AIR-program skriver inte över befintliga filtypsassociationer. Anropa metoden NativeApplication.setAsDefaultApplication() vid körning för att ta över en association från ett annat program.

Det är god praxis att verifiera att den förväntade filassociationen är på plats när programmet startar. Detta beror på att AIR-programinstalleraren inte åsidosätter befintliga filassociationer, och att filassociationer på en användares system kan ändras när som helst. När ett annat program har den aktuella filassociationen anses det också som god ton att fråga användaren innan den befintliga associationen tas över.

Följande metoder i klassen NativeApplication gör att ett program kan hantera filassociationer. Var och en av dessa metoder tar emot filtypstillägget som en parameter:

Metod

Beskrivning

isSetAsDefaultApplication()

Returnerar true om AIR-programmet för tillfället är associerat till den angivna filtypen.

setAsDefaultApplication()

Skapar associationen mellan AIR-programmet och öppna-åtgärden för filtypen.

removeAsDefaultApplication()

Tar bort associationen mellan AIR-programmet och filtypen.

getDefaultApplication()

Rapporterar sökvägen till det program som just nu är associerat med filtypen.

AIR kan bara hantera associationer för de filtyper som ursprungligen deklarerades i programbeskrivningen. Du kan inte hämta information om associationer för icke-deklarerade filtyper, även om användaren har skapat en association mellan filtypen och ditt program manuellt. Ett anrop till någon av metoderna för filassociationshantering med ett tillägg för en filtyp som inte är deklarerad i programbeskrivningen gör att programmet utlöser ett körtidsundantag.

Hämta körtidsversion och korrigeringsnivå

NativeApplication-objektet har en runtimeVersion-egenskap, vilket är den version av körtiden i vilken programmet körs (en sträng som till exempel "1.0.5"). NativeApplication-objektet har också en runtimePatchLevel-egenskap, vilket är körtidens korrigeringsnivå (en siffra, som till exempel 2960). Följande kod använder dessa egenskaper:

trace(NativeApplication.nativeApplication.runtimeVersion); 
trace(NativeApplication.nativeApplication.runtimePatchLevel); 

Identifiera AIR-funktioner

För en fil som är paketerad med Adobe AIR-programmet är egenskapen Security.sandboxType satt till det värde som definieras av konstanten Security.APPLICATION. Du kan läsa in innehåll (som både kan innehålla eller sakna API:er som är specifika för AIR) baserat på om en fil ligger i säkerhetssandlådan för Adobe AIR eller ej, vilket illustreras i följande kod:

if (Security.sandboxType == Security.APPLICATION) 
{ 
    // Load SWF that contains AIR APIs 
} 
else 
{ 
    // Load SWF that does not contain AIR APIs 
} 

Alla resurser som inte installeras med AIR-programmet tilldelas samma säkerhetssandlådor som de skulle ha tilldelats av Adobe® Flash® Player i en webbläsare. Fjärresurser placeras i sandlådor baserat på deras källdomäner. Lokala resurser placeras i sandlådorna lokal-med-nätverk, lokal-med-filsystem eller lokal-tillförlitlig.

Du kan kontrollera att den statiska egenskapen Capabilities.playerType är satt till "Desktop" för att se om innehåll körs i körtiden (och inte körs i Flash Player som körs i en webbläsare).

Mer information finns under AIR-säkerhet.

Spåra användarnärvaro

NativeApplication-objektet genererar två händelser som hjälper dig att detektera när en användare aktivt använder datorn. Om ingen mus- eller tangentbordsaktivitet detekteras under det intervall som bestäms av egenskapen NativeApplication.idleThreshold, genererar NativeApplication-objektet en userIdle-händelse. När nästa tangentbords- eller musinmatning inträffar, genererar NativeApplication-objektet en userPresent-händelse. Intervallet för idleThreshold mäts i sekunder och har ett standardvärde på 300 (fem minuter). Du kan också hämta det antal sekunder som gått sedan den senaste användarinmatningen från egenskapen NativeApplication.nativeApplication.lastUserInput.

Följande kodrader ställer in inaktivitetströskeln till två minuter och lyssnar efter både userIdle- och userPresent-händelser.

NativeApplication.nativeApplication.idleThreshold = 120; 
NativeApplication.nativeApplication.addEventListener(Event.USER_IDLE, function(event:Event) { 
    trace("Idle"); 
}); 
NativeApplication.nativeApplication.addEventListener(Event.USER_PRESENT, function(event:Event) { 
    trace("Present"); 
}); 
Obs! Endast en userIdle-händelse genereras mellan två userPresent-händelser.