UIApplicationDidEnterBackgroundNotification
was ist die Verwendung von UIApplicationDidEnterBackgroundNotification
im iPhone app oder wie können wir profitiert, es
Du musst angemeldet sein, um einen Kommentar abzugeben.
was ist die Verwendung von UIApplicationDidEnterBackgroundNotification
im iPhone app oder wie können wir profitiert, es
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Meldung bedeutet, dass der Benutzer "quit" Ihre app auf einem iPhone 4 - Es passiert, wenn ein Anruf oder eine SMS kommt und der Benutzer akzeptiert die Unterbrechung (Antworten/Antworten), oder wenn der Benutzer die betätigung der Home-Taste.
Fand ich diesen link auf, SO dass zeigt die Interaktion zwischen allen Staaten, und die entsprechenden Meldungen:
http://www.drobnik.com/touch/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/
Gebrauch machen von dieser Meldung, die Sie implementieren können, applicationDidEnterBackground wie @Antwan vorgeschlagen (in Ihrem UIApplicationDelegate-Klasse - das ist die main-Klasse).
Alternativ könnte man die Einrichtung eines Benachrichtigungs-handler, wo immer Sie wollen/müssen in Ihrem code:
Glück!
Oded.
UIApplicationDidEnterBackgroundNotification
ist nicht aufgerufen wird, wenn ein Anruf kommt in.UIApplicationWillResignActiveNotification
wird, obwohl. Wenn Sie den Anruf beantworten, nur dann wirdUIApplicationDidEnterBackgroundNotification
gebucht werden.Vom apple Dokumentation.
Erzählt die Delegierten, dass der Antrag jetzt in den hintergrund.
Parameter
Anwendung
Die singleton-Instanz der Anwendung.
Diskussion
In iOS 4.0 und höher, wird diese Methode aufgerufen wird, statt der
applicationWillTerminate:
Methode, wenn der Benutzer beendet eine Anwendung, unterstützt die Ausführung im hintergrund. Sie sollten diese Methode verwenden, zur Veröffentlichung freigegebene Ressourcen, Benutzer speichern Daten, abstreiten, Timer, und speichern genug, den Zustand der Anwendung Informationen zum wiederherstellen Ihrer Anwendung zu seinem aktuellen Zustand, im Falle beendet wird später. Sollten Sie auch deaktivieren Sie die Aktualisierungen an der Benutzeroberfläche einer Anwendung, und verwenden Sie einige Arten von gemeinsamen system-Ressourcen (wie zum Beispiel die Kontakte des Benutzers Datenbank). Es ist auch zwingend notwendig, dass Sie vermeiden Sie die Verwendung von OpenGL ES in den hintergrund.Ihre Implementierung dieser Methode hat etwa fünf Sekunden, um Aufgaben durchzuführen und zurückgeben. Wenn Sie zusätzliche Zeit benötigen, um ausführen alle abschließenden Aufgaben, können Sie verlangen, zusätzliche Ausführungszeit aus dem system durch den Aufruf
beginBackgroundTaskWithExpirationHandler:
. In der Praxis haben, sollten Sie wieder vonapplicationDidEnterBackground:
so schnell wie möglich. Wenn die Methode nicht zurückkehren, bevor die Zeit abläuft, Ihre Anwendung wird beendet und aus dem Speicher gelöscht.Sollten Sie keine Aufgaben ausführen in Bezug auf die Anpassung Ihrer Benutzeroberfläche, bevor dieses Verfahren beendet ist, aber andere Aufgaben (z.B. das speichern des Zustands) bewegt werden sollte, um eine gleichzeitige dispatch-Warteschlange oder sekundären thread, wie gebraucht. Weil es wahrscheinlich irgendwelche hintergrund-tasks Sie starten in
applicationDidEnterBackground:
wird erst ausgeführt, nachdem die Methode beendet wird, sollten Sie einen Antrag auf zusätzliche hintergrund-Zeit vor dem Beginn der Ausführung dieser Aufgaben. In anderen Worten, rufen Sie zunächstbeginBackgroundTaskWithExpirationHandler:
und führen Sie die Aufgabe auf einer dispatch-Warteschlange oder sekundären thread.Die Anwendung auch Beiträge, die ein
UIApplicationDidEnterBackgroundNotification
- Benachrichtigung, um die gleiche Zeit ruft diese Methode auf, damit Interessierte Objekte eine chance zu reagieren, um den übergang.