RSS
piątek, 15 marca 2013
Programowanie iPhone - Blokowanie automatycznego przyciemniania / wyłączania ekranu

 

Ekrany urządzeń iOS są przyciemniane, a następnie wyłączane automatycznie po pewnym czasie nieaktywności użytkownika. Nie jest to zawsze zachowanie pożądane. Wyobraźmy sobie aplikację wyświetlającą film, konieczność ciągłego „budzenia” urządzenia byłaby bardzo irytująca, dlatego tez w takim i podobnych przypadkach automatyczne przyciemnianie/wyłączanie ekranu jest blokowane.

Funkcjonalność tą możemy zablokować wykonując następujące polecenie:

[UIApplication sharedApplication].idleTimerDisabled = YES;



I ponownie włączyć w taki sposób:

[UIApplication sharedApplication].idleTimerDisabled = NO;



Blokowanie timer’a powinno być wykorzystywane ostrożnie i jedynie wtedy, gdy naprawdę koniecznym jest, aby ekran naszego urządzenia był włączony non stop. Gdy funkcjonalność ta nie jest nam dłużej potrzebna aplikacja powinna odblokować licznik bezczynności (idle timer).

Dobrym zwyczajem jest tez odblokowania timera w momencie, gdy nasza aplikacja staje się nieaktywna wykonując powyższe polecenie w metodzie - (void)applicationWillResignActive:(UIApplication *)application.

Uwaga 1. Idle timer jest blokowany zawsze w momencie uruchamiania / testowania aplikacji z wykorzystaniem Xcode, w takich wypadkach poprawne zachowanie przetestować możesz jedynie odłączając urządzenie od komputera.

Uwaga 2. Czasami, implementacja w naszej aplikacji pewnych możliwości (np. wywołanie kamery, aby zrobić zdjęcie) może powodować ponowne, niejawne w tle, odblokowanie timera. W takich wypadkach pamiętać należy o ponownym jego zablokowaniu, oczywiście jeśli jest to konieczne z punktu widzenia naszego programu.


Tagi




PowerBuilder Tetris
D - Tetris



Programowanie iOS

C# ToolBox

SQL / TSQL / PLSQL ToolBox

Linux / Unix ToolBox





Zaprzyjaznione Strony

Sprite Bandits

Cake Time