2009-11-19 10 views
8

Hier ist etwas, das ich verzweifelt versuche, zur Arbeit zu kommen:iPhone App läuft, während Bildschirm gesperrt

Ich habe eine Anwendung, die das GPS-Modul in bestimmten Abständen Umfragen und dann coords Unix ruft mit heraus an einen Server sendet solche als write(); Es funktioniert einwandfrei, wenn die App aktiv ist. Sobald der Bildschirm jedoch selbst gesperrt wird, wird die Berichterstellung beendet.

Ich habe Folgendes gefunden: [UIApplication sharedApplication] .idleTimerDisabled = YES; Dies hält die App am Leben, sondern entlädt auch schnell die Batterie. Ich bin auf andere Apps gestoßen, die Musik streamen, auch wenn der Bildschirm gesperrt ist (Apps außerhalb von Apple), und daher dachte ich, dass es eine Möglichkeit geben muss, den GPS-Datenstrom am Leben zu erhalten.

Kann jemand helfen? Vielen Dank!

+1

Ich habe die Deaktivierung der Bildschirmsperrroute schon einmal heruntergefahren, nicht nur, dass der Akku ziemlich schnell leer wird, sondern dass das Gerät extrem heiß werden kann, wenn es für eine Stunde so gelassen wird! – mbehan

Antwort

0

Ich bin nicht 100% sicher, aber ich denke, ich habe irgendwo gehört, dass das GPS-Modul nur funktioniert, wenn der Bildschirm nicht gesperrt ist. (Es sei denn, Sie haben ein jailbroken Telefon natürlich ...)

Ich denke, dass ich das las, als ich eine laufende Anwendung herunterladte, die meinen Standort während meines Laufens verfolgte. Die App hatte ihren eigenen "Sperrbildschirm", den ich für den Betrieb verwenden musste, wodurch die Batterie ziemlich schnell leer war. Wenn ich den Bildschirm normal sperren und dann wieder entsperren würde, müsste er meinen Standort wiedererlangen.

0

Ich denke nicht, dass es möglich ist (etwas, was ich in der Vergangenheit tun wollte). Ich weiß zum Beispiel, dass der Safari-Browser, der auf GPS zugreifen kann, dies nicht tut, wenn der Bildschirm gesperrt ist, obwohl das eher vom Design als von der Begrenzung sein könnte.

1

Sie müssen den Bildschirm entsperrt verlassen. Aber das bedeutet nicht, dass Sie GPS aktiviert lassen müssen. Sie können den GPS-Monitor herunterfahren und ihn alle paar Minuten wecken, und das und ein ganz schwarzer "Bildschirmschoner", der nach einer Minute aufgeht, sollte ziemlich viel auf den Abfluss reduzieren.

+2

Kendall, können Sie bitte Ihren Vorschlag erweitern? Wenn ich den Bildschirm entsperrt mit [UIApplication sharedApplication] .idleTimerDisabled = YES; Das zumindest für mich hält den Bildschirm und das BG-Licht an, dadurch blutet der Akku stark. Gibt es eine andere Möglichkeit, den Bildschirm entsperrt zu lassen, aber das BG-Licht auszuschalten? – David

+0

Ich glaube nicht, dass es eine Möglichkeit gibt, das BG-Licht zu deaktivieren. Der Gedanke war, dass der Batterieverbrauch verringert werden könnte, wenn der Bildschirm nur minimale Daten hätte, so dass das System keine anderen Arbeiten für die Bildwiedergabe auf dem Bildschirm ausführen würde. –

1

Wenn Ihre Anwendung Ton wiedergibt (oder aufnimmt), wird die Wiedergabe auch dann fortgesetzt, wenn der Bildschirm gesperrt ist. Sie können also versuchen, über die Audio-Queue-Dienste Stille zu spielen, um Ihre App am Laufen zu halten.

Beachten Sie, dass ich keine GPS-bezogenen Besonderheiten in Bezug auf diese Frage kenne. Ein anderer Kommentator sagt, dass es GPS ausdrücklich verboten ist, zu laufen, wenn der Bildschirm gesperrt ist (was eine vernünftige Entscheidung auf der Seite von Apple angesichts möglicher Datenschutzprobleme sein könnte). Ich kann nicht sagen, ob das stimmt oder nicht.

Verwandte Themen