Arbeiten mit AIR-Laufzeit- und Betriebssysteminformationen

Adobe AIR 1.0 und höher

In diesem Kapitel werden Verfahren behandelt, mit denen eine AIR-Anwendung Dateiverknüpfungen des Betriebssystems verwalten, Benutzeraktivitäten erkennen und Informationen über die Adobe® AIR®-Laufzeitumgebung abrufen kann.

Verwalten von Dateiverknüpfungen

Verknüpfungen zwischen der Anwendung und einem Dateityp müssen im Anwendungsdeskriptor deklariert werden. Während des Installationsvorgangs verknüpft das AIR-Installationsprogramm die AIR-Anwendung mit der Standardanwendung zum Öffnen aller deklarierten Dateitypen, sofern keine andere Anwendung bereits als Standardanwendung gilt. Der AIR-Installationsvorgang überschreibt keine bestehenden Dateitypverknüpfungen. Rufen Sie zur Laufzeit die NativeApplication.setAsDefaultApplication() -Methode auf, um die Verknüpfung aus einer anderen Anwendung zu übernehmen.

Es ist eine gute Angewohnheit zu prüfen, ob die erwarteten Dateiverknüpfungen beim Starten der Anwendung aktiv sind. Grund hierfür ist, dass das Installationsprogramm der AIR-Anwendung bestehende Dateiverknüpfungen nicht überschreibt und sich die Dateiverknüpfungen auf dem System eines Benutzers jederzeit ändern können. Wenn für eine andere Anwendung die aktuelle Dateiverknüpfung gilt, sollte der Benutzer schon aus Höflichkeit unterrichtet werden, bevor eine bestehende Verknüpfung übernommen wird.

Die folgenden Methoden der NativeApplication-Klasse ermöglichen einer Anwendung das Verwalten von Dateiverknüpfungen. Jede dieser Methoden verwendet die Dateierweiterung als Parameter:

Methode

Beschreibung

isSetAsDefaultApplication()

Gibt true zurück, wenn die AIR-Anwendung derzeit mit dem angegebenen Dateityp verknüpft ist.

setAsDefaultApplication()

Erstellt die Verknüpfung zwischen der AIR-Anwendung und der Aktion zum Öffnen des Dateityps.

removeAsDefaultApplication()

Entfernt die Verknüpfung zwischen der AIR-Anwendung und dem Dateityp.

getDefaultApplication()

Gibt den Pfad der Anwendung wieder, die derzeit mit dem Dateityp verknüpft ist.

AIR kann nur Verknüpfungen verwalten, die ursprünglich im Anwendungsdeskriptor deklariert wurden. Sie können auch dann keine Informationen über die Verknüpfungen eines nicht deklarierter Dateityps abrufen, wenn der Benutzer die Verknüpfung zwischen diesem Dateityp und der Anwendung manuell hergestellt hat. Beim Aufrufen einer der Methoden zum Verwalten von Dateiverknüpfungen für die Erweiterung eines nicht im Anwendungsdeskriptor deklarierten Dateityps wird eine Laufzeitausnahme ausgelöst.

Abrufen von Laufzeitversion und Patchebene

Das NativeApplication-Objekt verfügt über eine runtimeVersion -Eigenschaft, die der Version der Laufzeitumgebung entspricht, in der die Anwendung ausgeführt wird (ein String wie z. B. "1.0.5" ). Das NativeApplication-Objekt verfügt ferner über eine runtimePatchLevel -Eigenschaft, die der Patchebene der Laufzeitumgebung entspricht (eine Zahl wie z. B. 2960). Der folgende Code verwendet diese Eigenschaften:

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

Erkennen von AIR-Funktionalität

Für eine mit der Adobe AIR-Anwendung gebundelten Datei ist für die Security.sandboxType -Eigenschaft der von der Security.APPLICATION -Konstante definierte Wert festgelegt. Sie können Inhalt (der AIR-spezifische APIs enthalten kann, aber nicht enthalten muss) wie im nachstehenden Code veranschaulicht basierend darauf laden, ob eine Datei in der Adobe AIR-Sicherheits-Sandbox enthalten ist:

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

Alle nicht mit der AIR-Anwendung installierten Ressourcen werden den gleichen Sicherheits-Sandboxen zugewiesen, die auch von Adobe® Flash® Player in einem Webbrowser zugewiesen würden. Remoteressourcen werden Sandboxen entsprechend der Quelldomäne und lokale Ressourcen der local-with-networking-, local-with-filesystem- oder local-trusted-Sandbox zugewiesen.

Sie können prüfen, ob für die statische Capabilities.playerType -Eigenschaft "Desktop" festgelegt wurde, um herauszufinden, ob Inhalt in der Laufzeitumgebung (und nicht in dem im Browser ausgeführten Flash Player) ausgeführt wird.

Weitere Informationen finden Sie unter AIR-Sicherheit .

Nachverfolgen der Benutzerpräsenz

Das NativeApplication-Objekt löst zwei Ereignisse aus, mit denen Sie erkennen können, ob ein Benutzer einen Computer aktiv nutzt. Wird während des von der NativeApplication.idleThreshold -Eigenschaft festgelegten Intervalls keine Maus- oder Tastaturaktivität erkannt, löst das NativeApplication-Objekt ein userIdle -Ereignis aus. Bei der nächsten Eingabe über die Tastatur oder Maus löst das NativeApplication-Objekt ein userPresent -Ereignis aus. Das idleThreshold -Intervall wird in Sekunden gemessen und hat einen Standardwert von 300 (5 Minuten). Mit der NativeApplication.nativeApplication.lastUserInput -Eigenschaft können Sie auch die seit der letzten Benutzereingabe verstrichenen Sekunden abrufen.

Die folgenden Codezeilen legen eine Leerlaufzeit von 2 Minuten fest und überwachen sowohl das userIdle - als auch das userPresent -Ereignis:

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"); 
}); 
Hinweis: Zwischen zwei beliebigen userPresent -Ereignissen wird nur ein userIdle ausgelöst.