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