Je souhaite que mon application continue de fonctionner et interagisse avec l'utilisateur, même si l'utilisateur appuie sur le bouton de veille.
Jusqu'à présent, j'ai appris que mon application peut rester en vie avec le code suivant:Interaction avec IPhone en mode veille
NSTimer *timer = [NSTimer timerWithTimeInterval:0.5 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
Cela réussit. La méthode
- (void)timerFireMethod:(NSTimer*)theTimer
sera appelée toutes les 0.5s même si je suis en mode veille. Donc, sachez que mon problème est: Comment puis-je interagir avec mon application en mode veille? J'ai simplement besoin d'un déclencheur pour commencer à lire un fichier audio personnalisé. Par conséquent, je besoin d'un événement déclencheur, quelque chose comme la détection:
-a toucher à l'écran
activité d'accélération -an
-a MotionShake événement
Mais après avoir reçu le applicationWillResignActive
-Event, rien de ce qui précède est de travailler . Mon accéléromètre arrête la livraison des événements d'accélération. Et je suis incapable de les relancer. MotionShake L'événement ne sera pas délivré et je ne sais pas, s'il est possible d'attraper un événement tactile pendant le sommeil.
Mise à jour
Je me attends à l'utilisateur d'utiliser mon application pour permet de dire 5 heures. S'il est inactif pendant un certain temps, il s'endort tout seul. J'ai probablement mal interprété ce que je veux dire avec le mode veille. L'Iphone devrait être opérationnel tout le temps, mais je n'ai pas besoin de l'affichage et de la lumière d'arrière-plan allumée tout le temps (ce sont les pièces les plus énergivores). Je sais que tout en jouant un son silencieux toutes les 10 secondes, l'iphone ne va pas dormir. Et je sais que l'application IPod est capable de fonctionner dans ce mode et l'utilisateur peut interagir avec lui en secouant l'appareil. Donc, n'y a-t-il pas un moyen officiel pour qu'une application fasse de même?
---
Quelqu'un a-t-il une idée?
Merci Zensursula
Merci pour l'explication de ce qui se passe. J'ai mis à jour ma question pour expliquer plus en détail ce que je veux. Peut être qu'il y a une autre soultion pour mon problème. – Zensursula