2009-11-16 6 views
3

Je dois déterminer à quel moment un appel entrant arrive. Je sais que applicationWillTerminate sera appelée si l'utilisateur prend l'appel et applicationWillResignActive quand le popup avec le message de confirmation de l'appel apparaît, cependant: -applicationWillTerminate est également appelé lorsque l'application se termine par la demande de l'utilisateur ou la batterie est sur le point de mourir
-applicationWillResignActive est également appelée lorsqu'une UIViewAlert est affichée.Détecter les appels téléphoniques entrants

Merci

+0

S'il vous plaît voir http://stackoverflow.com/questions/3319805/detecting-call-state-in-ios4 –

Répondre

5

En bref - Non, vous ne pouvez pas déterminer s'il y a un appel entrant ou un autre type d'interruption dans votre application.

+0

j'avais peur de cela. Merci quand même. –

+0

Il semble que 'CoreTelephony' pourrait avoir un chemin: http://stackoverflow.com/questions/18310332/detecting-the-call-events-in-ios –

4

J'ai trouvé cet article sur la gestion des appels entrants; terminant l'état de reprise et de persistance.

Il pourrait vous aider ..

http://www.tomwhitson.co.uk/blog/2009/04/handling-interuptions-to-your-app/

(void)applicationWillResignActive:(UIApplication *)application{ 
     //our app is going to loose focus since thier is an incoming call 
     [self pauseGame]; 
} 

(void)applicationDidBecomeActive:(UIApplication *)application{ 
     //the user declined the call and is returning to our app 
     [self resumeGame]; 
} 

(void)applicationWillTerminate:(UIApplication*)application{ 
     //the user answered the call (or quit the app) so save the 
     //game as we are shutting down 
     [self saveGameState]; 
} 
+5

Ceci est utile pour de nombreux scénarios, mais vous ne pouvez pas être certain à 100% que l'application estWillResignActive appelé à la suite d'un appel téléphonique entrant. –

3

Je sais que cette question est vraiment vieux, mais dans le cas où quelqu'un d'autre arrive à cette question, tout comme moi, il y a un délégué de la session audio pour détecter si l'audio sera interrompu (principalement par un appel téléphonique).

Pour toute application diffusant de l'audio, cette approche fonctionne pour détecter les appels iphone entrants.

Voici un lien vers la documentation Apple pour: Handling Audio Interruptions

Questions connexes