Praca z informacjami o środowisku wykonawczym AIR i systemie operacyjnymAdobe AIR 1.0 i wersje późniejsze W tej sekcji omówiono metody zarządzania przypisaniami typów plików w systemie operacyjnym, wykrywania aktywności użytkownika i pobierania informacji o środowisku wykonawczym Adobe® AIR® z poziomu aplikacji AIR. Zarządzanie skojarzeniami plikówSkojarzenia między aplikacją a typem pliku muszą być zadeklarowane w deskryptorze aplikacji. W procesie instalacji instalator aplikacji AIR kojarzy tę aplikację jako domyślną aplikację otwierającą ze wszystkimi zadeklarowanymi typami plików, chyba że dla danego typu pliku jest już przypisana inna aplikacja domyślna. W procesie instalacji aplikacji AIR nie są zmieniane istniejące skojarzenia z typami plików. Aby przejąć skojarzenie z innej aplikacji, należy wywołać metodę NativeApplication.setAsDefaultApplication() w czasie wykonywania. Do dobrych praktyk należy sprawdzanie w momencie uruchamiania aplikacji, czy oczekiwane skojarzenia plików są zdefiniowane. Wynika to z faktu, że instalator aplikacji AIR nie przesłania istniejących skojarzeń z plikami, a ponadto skojarzenia w systemie użytkownika mogą ulegać zmianie w dowolnym momencie. Gdy typ pliku jest skojarzony z inną aplikacją, dobrym zwyczajem jest zapytanie użytkownika o zgodę przed wymuszeniem zmiany tego skojarzenia. Poniższe metody klasy NativeApplication umożliwiają zarządzanie skojarzeniami plików. Parametrem każdej z tych metod jest rozszerzenie plików określające ich typ:
Środowisko AIR może zarządzać tylko tymi skojarzeniami z typami plików, które zostały pierwotnie zadeklarowane w deskryptorze aplikacji. Nie można uzyskać informacji o skojarzeniach niezadeklarowanych typów plików, nawet jeśli użytkownik ręcznie utworzył skojarzenie między danym typem plików a aplikacją. Wywołanie którejkolwiek z metod do zarządzania skojarzeniami typów plików dla typu niezadeklarowanego w deskryptorze aplikacji spowoduje wygenerowanie wyjątku w czasie wykonywania. Sprawdzanie wersji środowiska wykonawczego i poziomu poprawekObiekt NativeApplication ma właściwość runtimeVersion wskazującą na wersję środowiska wykonawczego, w którym działa aplikacja (jest to ciąg znaków, np. "1.0.5"). Obiekt NativeApplication ma także właściwość runtimePatchLevel wskazującą na poziom poprawek środowiska wykonawczego (jest to liczba, np. 2960). Właściwości te zostały wykorzystane w poniższym kodzie: trace(NativeApplication.nativeApplication.runtimeVersion); trace(NativeApplication.nativeApplication.runtimePatchLevel); Wykrywanie możliwości środowiska AIRW przypadku pliku powiązanego z aplikacją Adobe AIR właściwość Security.sandboxType jest ustawiona na wartość zdefiniowaną przez stałą Security.APPLICATION. Aplikacja może ładować treść (która może, ale nie musi zawierać wywołań API charakterystycznych dla środowiska AIR) w zależności od tego, czy plik znajduje się w obszarze izolowanym zabezpieczeń środowiska Adobe AIR, co ilustruje poniższy kod: if (Security.sandboxType == Security.APPLICATION)
{
// Load SWF that contains AIR APIs
}
else
{
// Load SWF that does not contain AIR APIs
}
Wszystkie zasoby, które nie są instalowane razem z aplikacją AIR, są przypisywane do tych samych obszarów izolowanych, do których byłyby przypisane przez program Adobe® Flash® Player w przeglądarce sieci Web. Zasoby zdalne są umieszczane w obszarach izolowanych odpowiednio do ich domen źródłowych, a zasoby lokalne są umieszczane w obszarze izolowanym lokalnym z obsługą sieci, lokalnym z systemem plików lub lokalnym zaufanym. Aby ustalić, czy treść jest wykonywana w środowisku wykonawczym (a nie w odtwarzaczu Flash Player uruchomionym w przeglądarce), można sprawdzić, czy wartość właściwości statycznej Capabilities.playerType jest równa "Desktop". Więcej informacji zawiera sekcja Zabezpieczenia w środowisku AIR. Monitorowanie obecności użytkownikaObiekt NativeApplication wywołuje dwa zdarzenia, które pomagają w określeniu, czy użytkownik aktywnie korzysta z komputera. Jeśli w okresie zdefiniowanym przez właściwość NativeApplication.idleThreshold nie zostanie wykryta aktywność myszy lub klawiatury, obiekt NativeApplication wywołuje zdarzenie userIdle. Gdy ponownie zajdzie zdarzenie związane z aktywnością klawiatury lub myszy, obiekt NativeApplication wywoła zdarzenie userPresent. Okres idleThreshold jest mierzony w sekundach, a jego wartość domyślna to 300 (5 minut). Właściwość NativeApplication.nativeApplication.lastUserInput zawiera liczbę sekund od ostatniego przejawu aktywności użytkownika. Poniższe wiersze kodu ustawiają próg bezczynności na 2 minuty i wykrywają zdarzenia userIdle i 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");
});
Uwaga: Między każdymi dwoma zdarzeniami userPresent wywoływane jest tylko jedno zdarzenie userIdle.
|
|