2009-11-19 7 views
8

Voici quelque chose que je tente désespérément de se rendre au travail:application iPhone en cours d'exécution tandis que l'écran verrouillé

J'ai une application qui interroge le module GPS dans des intervalles spécifiés et envoie ensuite coords à un serveur en utilisant les appels Unix tels comme ecrire(); Cela fonctionne correctement lorsque l'application est active, mais une fois que l'écran s'est verrouillé, le signalement s'arrête.

J'ai trouvé ceci: [UIApplication sharedApplication] .idleTimerDisabled = YES; Cela permet de maintenir l'application en vie, mais décharge également rapidement la batterie. Je suis tombé sur d'autres applications qui diffusent de la musique même lorsque l'écran est verrouillé (applications non-Apple) et j'ai donc pensé qu'il devait y avoir un moyen de maintenir le flux de données GPS en vie.

Quelqu'un peut-il vous aider? Je vous remercie!

+1

Je suis déjà allé sur la voie de verrouillage de l'écran de désactivation, non seulement la batterie se décharge assez rapidement, mais l'appareil peut devenir extrêmement chaud si on le laisse pendant une heure! – mbehan

Répondre

0

Je ne suis pas sûr à 100%, mais je pense avoir entendu quelque part que le module GPS ne fonctionne que lorsque l'écran n'est pas verrouillé. (Sauf si vous avez un téléphone jailbreaké bien sûr ...)

Je crois que j'ai lu ceci lorsque je téléchargeais une application en cours d'exécution qui gardait une trace de ma position pendant que je courais. L'application avait son propre "écran de verrouillage" que je devais avoir pour que cela fonctionne, ce qui a vidé la batterie assez rapidement. Si je devais verrouiller l'écran normalement puis le déverrouiller à nouveau, il faudrait réacquérir mon emplacement.

0

Je ne pense pas que ce soit possible (c'est quelque chose que je voulais faire dans le passé). Je sais par exemple que le navigateur safari, qui peut accéder au GPS, ne le fait pas lorsque l'écran est verrouillé, bien que cela puisse être intentionnel plutôt que limité.

1

Vous devez laisser l'écran déverrouillé. Mais cela ne signifie pas que vous devez laisser le GPS activé. Vous pouvez éteindre le moniteur GPS et l'éveiller toutes les quelques minutes, cela et un "économiseur d'écran" tout noir qui s'allume après une minute devrait réduire beaucoup le drain.

+2

Kendall, pouvez-vous s'il vous plaît développer votre suggestion? Si je laisse l'écran déverrouillé à l'aide de [UIApplication sharedApplication] .idleTimerDisabled = YES; ceci au moins pour moi garde l'écran et la lumière BG allumés, ainsi la batterie saigne abondamment. Y at-il un autre moyen de garder l'écran déverrouillé, mais éteignez la lumière BG? – David

+0

Je ne pense pas qu'il y ait moyen de désactiver la lumière BG. L'idée était que la vidange de la batterie pourrait être réduite si l'écran contenait un minimum de données, donc aucun autre travail n'était effectué par le système pour garder les images à l'écran. –

1

Si votre application lit (ou enregistre) des sons, même si vous jouez en silence, elle continuera à fonctionner même si l'écran est verrouillé. Vous pouvez donc essayer de jouer en silence via les services de file d'attente audio pour que votre application fonctionne.

Notez que je ne connais pas de détails liés au GPS concernant cette question. Un autre commentateur dit que le fonctionnement du GPS est spécifiquement interdit lorsque l'écran est verrouillé (ce qui pourrait être une décision judicieuse du côté d'Apple, compte tenu des problèmes de confidentialité possibles). Je ne peux pas dire si c'est vrai ou non.

Questions connexes