2011-09-18 3 views
2

Lors de l'enregistrement de UIApplicationDidEnterBackgroundNotification, je remarque que cette notification n'est pas déclenchée lorsque le périphérique entre en mode veille. Toutefois, lors de son réveil, la notification UIApplicationDidBecomeActiveNotification est déclenchée. Il est également déclenché en revenant du mode d'arrière-plan.iPhone - Différenciation des notifications UIApplicationDidBecomeActiveNotification

Comment puis-je savoir si mon application revient du mode d'arrière-plan ou est activée après un réveil de l'appareil?

Répondre

4

Ceux-ci ne s'équilibrent pas les uns les autres; ils sont affichés pour des événements indépendants. Je crois que vous voulez UIApplicationWillEnterForegroundNotification lors de la détection de votre application en revenant de l'arrière-plan, et UIApplicationWillResignActiveNotification lors de la détection de certaines autres situations (y compris le sommeil.)

Notez que UIApplicationWillResignActiveNotification montre aussi pour des événements tels que « appel téléphonique entrant a été ignoré » et « la système d'exploitation affiche une alerte qui ne fait pas partie de votre processus "(par exemple un message texte.)

+0

bien que cela ne fonctionne pas vraiment, les deux sont déclenchés en revenant de l'arrière-plan. – Oliver

+0

Lorsque mon téléphone est en mode veille, il reçoit toujours les mises à jour drawRect, ce qui entraîne des actions inutiles et l'utilisation de la batterie. Comment feriez-vous face à cela? – Oliver

+0

Oui, vous voyez les deux au retour de l'arrière-plan, mais vous ne voyez que les notifications 'Background' et' Foreground' pour le multitâche. –

Questions connexes