2008-11-11 7 views
10

Gibt es eine Möglichkeit festzustellen, ob der Bildschirm über die obere Power-Taste ausgeschaltet wurde?Screen Off Ereignis oder Eigenschaft auf dem iPhone

Ich muss nur wissen, ob der Bildschirm irgendwie deaktiviert wurde, um eine Schleife zu beenden, die den Standort aktualisiert.

Dank

Antwort

18

Ihre Anwendung Delegierten eine applicationWillResignActive: Nachricht erhalten kurz vor dem Bildschirm (oder wenn das Telefon klingelt oder ein anderes Fenster erscheint) gesperrt ist. Dies ist eine hervorragende Zeit, um Leerlaufzeitprozesse zu beenden. Nach der Reaktivierung erhalten Sie eine applicationDidBecomeActive: Nachricht, in der Sie all diese Dinge neu starten können.

+1

Beachten Sie, dass Sie diese Nachricht von jeder Klasse aus abonnieren können. Sie müssen den Anwendungsdelegaten nicht unbedingt zum Empfangen der Benachrichtigung verwenden. –

+0

Ben hat Ihre Frage in Bezug auf "Bildschirmabschaltbenachrichtigungen" eindeutig beantwortet. Ich denke jedoch, dass Ihre Frage ein wenig falsch ist, da Sie erwähnen, dass Sie nur eine Schleife beenden möchten, wenn der Bildschirm ausgeschaltet ist. Ihr gesamtes Programm (einschließlich der Schleife) wird etwa 20 Sekunden nach dem Ausschalten des Bildschirms angehalten. Es wird dann fortgesetzt, sobald der Bildschirm wieder eingeschaltet wird. Nur eine hilfreiche Notiz für andere, die annehmen könnten, dass sie Schleifen manuell ausschalten müssen, wenn der Bildschirm ausgeschaltet ist ... –