Uso delle informazioni di runtime AIR e del sistema operativo

Adobe AIR 1.0 e versioni successive

In questa sezione vengono descritti i modi in cui un'applicazione AIR può gestire le associazioni di file del sistema operativo, rilevare l'attività dell'utente e reperire informazioni sulla fase di runtime di Adobe® AIR®.

Gestione delle associazioni di file

È necessario dichiarare le associazioni tra l'applicazione e un tipo di file nel descrittore dell'applicazione. Durante il processo di installazione, il programma di installazione dell'applicazione AIR associa l'applicazione AIR come applicazione di apertura predefinita per ognuno dei tipi di file dichiarati, a meno che non vi sia già un'altra applicazione predefinita. Il processo di installazione dell'applicazione AIR non esclude un'associazione del tipo di file esistente. Per sostituire l'associazione con un'altra applicazione, è possibile richiamare il metodo NativeApplication.setAsDefaultApplication() in fase di runtime.

È buona prassi verificare che le associazioni di file previste siano a posto quando l'applicazione viene avviata. Il motivo è duplice: il programma di installazione dell'applicazione AIR non esclude le associazioni di file esistenti e le associazioni di file in un sistema utente possono cambiare in qualsiasi momento. Quando un'altra applicazione prevede l'attuale associazione di file, è inoltre opportuno chiedere conferma all'utente prima di sostituire l'associazione esistente.

I seguenti metodi della classe NativeApplication consentono a un'applicazione di gestire le associazioni di file. Ognuno dei metodi usa come parametro l'estensione tipo file:

Metodo

Descrizione

isSetAsDefaultApplication()

Restituisce il valore true se l'applicazione AIR è attualmente associata al tipo di file specificato.

setAsDefaultApplication()

Crea l'associazione tra l'applicazione AIR e l'azione di apertura del tipo di file.

removeAsDefaultApplication()

Elimina l'associazione tra l'applicazione AIR e il tipo di file.

getDefaultApplication()

Indica il percorso dell'applicazione che è attualmente associata al tipo di file.

AIR è in grado di gestire esclusivamente le associazioni per i tipi di file inizialmente dichiarati nel descrittore dell'applicazione. Non è possibile ottenere informazioni sulle associazioni di un tipo di file non dichiarato, neanche se un utente ha creato manualmente l'associazione tra quel tipo e l'applicazione. Se viene richiamato uno qualsiasi dei metodi di gestione dell'associazione di file con l'estensione per un tipo di file non dichiarato nel descrittore dell'applicazione, il risultato ottenuto è un'eccezione di runtime.

Informazioni su versione runtime e livello patch

L'oggetto NativeApplication include una proprietà runtimeVersion che corrisponde alla versione runtime in cui è eseguita l'applicazione (una stringa, ad esempio "1.0.5" ). L'oggetto NativeApplication include inoltre una proprietà runtimePatchLevel , che corrisponde al livello della patch di runtime (un numero, ad esempio 2960). Nel seguente codice vengono usate queste proprietà:

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

Rilevamento delle funzionalità AIR

Nel caso di un file che è abbinato a un'applicazione Adobe AIR, la proprietà Security.sandboxType è impostata sul valore definito dalla costante Security.APPLICATION . È possibile caricare il contenuto (che può contenere o meno le interfacce API specifiche di AIR) dopo aver stabilito se il file si trova nella sandbox di sicurezza di Adobe AIR, come illustrato nel seguente codice:

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

Tutte le risorse che non sono installate con l'applicazione AIR vengono assegnate alle stesse sandbox di sicurezza alle quali verrebbe assegnato Adobe® Flash® Player in un browser Web. Le risorse remote vengono assegnate alle sandbox in base ai loro domini di origine, mentre le risorse locali confluiscono nelle sandbox locale con rete o locale affidabile.

È possibile controllare che la proprietà statica Capabilities.playerType sia impostata su "Desktop" per verificare se il contenuto è eseguito nella fase di runtime (e non è eseguito in Flash Player in esecuzione in un browser).

Per ulteriori informazioni, consultate Sicurezza in AIR .

Verifica delle presenza dell'utente

L'oggetto NativeApplication invia due eventi che consentono di verificare se un utente sta usando attivamente un computer. Se non viene rivelata nessuna attività del mouse o della tastiera nell'intervallo determinato dalla proprietà NativeApplication.idleThreshold , l'oggetto NativeApplication invia un evento userIdle . Non appena viene registrato un input della tastiera o del mouse, l'oggetto NativeApplication invia un evento userPresent . L'intervallo idleThreshold viene misurato in secondi e ha un valore predefinito pari a 300 (5 minuti). La proprietà NativeApplication.nativeApplication.lastUserInput permette inoltre di conoscere il numero di secondi trascorsi dall'ultimo input dell'utente.

Con le seguenti righe di codice viene impostata la soglia di inattività su 2 minuti, in attesa sia dell'evento userIdle che dell'evento userPresent :

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"); 
}); 
Nota: viene inviato un solo evento userIdle tra due eventi userPresent .