2010-08-06 19 views
2

Y at-il une notification que je peux écouter qui va m'alerter que le téléphone ira dormir? Je l'ai mis en œuvre les éléments suivants:Est-il possible de savoir quand l'iPhone va aller dormir?

[[NSNotificationCenter defaultCenter] 
       addObserver:self 
       selector:@selector(resignActive:) 
        name:UIApplicationDidEnterBackgroundNotification 
        object:nil]; 

mais il semble que cela ne se déclenche lorsque le téléphone se met en veille après un certain temps d'inactivité (1 min dans mes réglages). La raison pour laquelle je pense que ça ne marche pas, c'est que j'ai une minuterie qui effectue une action toutes les secondes et si un certain temps s'est écoulé (plus d'une minute), elle émet une alarme audio. Dans ma démissionActive, j'invalide mon minuteur et cela fonctionne bien lorsque j'appuie sur le bouton d'accueil, mais pas quand le téléphone se met en veille. Il semble toujours fonctionner en arrière-plan mais "à une vitesse plus faible" car les temps sont beaucoup plus longs que la normale (environ 10 min au lieu de 2 min).

Des idées sur ce qui se passe lorsque le téléphone se met en veille? J'ai lu ces deux articles mais cela ne répond pas vraiment à ma question.

What happens to an iPhone app when iPhone goes into stand-by mode?

Iphone app is delayed for 10 -15 minutes when iphone is in sleep mode

Répondre

1

Met en œuvre ces 2 méthodes sur le UIApplicationDelegate:

- (void)applicationWillResignActive:(UIApplication *)application 
- (void)applicationDidBecomeActive:(UIApplication *)application 

Il sera également appelé lorsqu'une notification push d'une autre application (ou SMS) est montré ..

+0

Quel bon début de semaine. Basé sur votre réponse concise et correcte, j'ai changé ma méthode ci-dessus pour vous abonner à UIApplicationWillResignActive. Cela fonctionne maintenant comme je le veux. Merci pour votre réponse parfaite. J'aimerais qu'ils soient tous comme ça. – Structurer

+0

juste heureux d'aider ... passer une bonne semaine – TheSquad