2009-12-07 3 views
1

Lorsque mon application iPhone quitte l'état actif, l'instance de sharedAccelerometer singleton de UIAccelerometer cesse d'envoyer des messages d'accéléromètre: didAccelerate: à mon délégué.Possibilité de recevoir des mises à jour UIAccelerometer lorsque l'application est inactive?

Est-il tout à fait possible de continuer à recevoir ces messages, de la même manière que le CLLocationManagerDelegate continue à recevoir des mises à jour lorsque l'application est inactive?

Je préférerais ne pas avoir à désactiver complètement idleTimer si cela peut être utile.

Répondre

0

Non, pas dans la forme la plus récente disponible de l'iPhone SDK au moins.

0

Je dirais qu'il est possible depuis this app est sur l'AppStore:

Cependant, puisque vous déplacez différemment dans lit pendant les différentes phases, le réveil Sleep Cycle est en mesure d'utiliser l'accéléromètre dans votre iPhone pour surveiller votre mouvement et de déterminer quelle phase de sommeil que vous êtes.

I Je ne peux pas croire qu'il doit courir toute la nuit avec l'écran allumé. EDIT: semble que ça doit! : P


Ainsi, ils n'ont pas contourner ce problème non plus. Plus de chances que vous ne pouvez pas l'atteindre alors ...

Avez-vous lu la documentation du UIAccelerometer, est-ce qu'il mentionne quelque chose là-bas? Si vous ne parvenez pas à envoyer des événements d'accélération, vous ne pouvez pas faire grand-chose.

Cependant, j'essayerais de redéfinir le délégué de l'accéléromètre dans ma classe lorsque mon application a perdu le focus (lorsque le téléphone s'est verrouillé). Vous pouvez obtenir cette notification (notification de focus perdue) à partir de UIApplication. Essayez cela juste au cas où le délégué de l'accéléromètre est réglé sur nil lorsque l'application perd le focus.

+0

Merci de m'indiquer dans la direction de cette application. Je l'ai téléchargé et je peux confirmer que: 1) L'application doit rester active toute la nuit, 2) Vous ne pouvez pas verrouiller le téléphone, 3) Vous devez placer le téléphone face cachée sur le lit, 4) Vous devez garder le téléphone téléphone connecté au chargeur. Essentiellement, il semble que l'application désactive le idleTimer et garde l'écran actif toute la nuit. Pas un énorme problème tant que l'écran est face cachée et que le téléphone est en charge, mais pas une option pour mon application où l'existence d'un chargeur est très peu probable. –

+0

Ensuite, je crains que vous ne puissiez pas faire ce que vous voulez mais vous pouvez essayer une dernière chose. Regardez ma réponse mise à jour et bonne chance :) – Dimitris

Questions connexes