2010-10-05 6 views
0

Existe-t-il un moyen de différencier lorsqu'un utilisateur quitte une application parce qu'il a appuyé sur le bouton d'accueil ou parce qu'il reçoit un appel téléphonique? Dans iOS 4.0, l'application ne se ferme pas si l'utilisateur répond à un appel, mais dans 3.x. Je souhaite enregistrer l'état de mon application si l'utilisateur est interrompu par un appel ou un autre événement téléphonique, mais pas si l'utilisateur quitte l'application en appuyant sur le bouton d'accueil.Sortant ou interrompu?

Un conseil?

+0

Oui, sauvegardez l'état de l'utilisateur indépendamment de la raison de sortie, comme la plupart des bonnes applications. –

Répondre

2

Les méthodes délégués d'application suivants nous appelle dans différentes situations:

  • applicationWillTerminate - utilisateur bouton "home" pressé et l'application est sur le point de quitter

  • applicationWillResignActive - utilisateur a obtenu entrant appel ou alerte SMS. s'il décide d'accepter l'appel de l'application quittera

  • applicationDidBecomeActive - utilisateur ignoré un appel entrant

  • applicationDidEnterBackground - utilisateur appuyé sur la touche « home » et l'application sont allés en arrière-plan - applicable pour les plates-formes support multi-tâches

il semble que vous avez besoin d'utiliser la méthode applicationWillResignActive: déléguer app de faire la distinction entre vos deux cas

+0

Me battre à elle;) –

+0

Merci Vladimir, j'étais au courant de ces méthodes, mais un peu confus dans la façon dont ils sont appelés. J'ai fait des tests dans les appareils 3.x et 4.x et ils semblent se comporter différemment, d'où ma confusion. –