2013-03-17 13 views
17

Ich möchte eine HTML5-Geolocation-basierte Web-App erstellen, die auch dann noch funktioniert, wenn der Telefonbildschirm ausgeschaltet ist (z. B. nachverfolgen, wie weit Sie in der Tasche gelaufen sind).HTML5 Mobile App wird ausgeführt, während der Telefonbildschirm ausgeschaltet ist?

Gibt es eine Möglichkeit, die App laufen zu lassen, aber den Bildschirm ausgeschaltet zu haben oder die App im Hintergrund laufen zu lassen, während andere Apps verwendet werden? Ist dies zumindest auf einigen der beliebten mobilen Geräte möglich (neuere iOS- und Android-Geräte im Besonderen?)

+0

Auf Android müssen Sie eine native App schreiben und einen Dienst ausführen, um aktiv zu bleiben. Ich bezweifle, dass IOS viel anders ist. – 323go

+2

Für Android, ja, natürlich dachte, Ihre "Web App" müsste als eine Anwendung herunterladbar sein (wie in dem, was Phone Gap bietet). Und dann müssten Sie wahrscheinlich auch die Java-Ebene verwenden, um einige dieser Aufgaben zu erledigen, indem Sie AsyncTask und einen Service verwenden. Für iOS habe ich keine Ahnung. –

+0

Obwohl ich es bezweifele .. Sie können ein wenig Glück bekommen, dies zu arbeiten. mit einem iframe. http://stackoverflow.com/questions/7047989/javascript-stops-as-i-lock-iphone-can-it-still-run [siehe erste Antwort. ] – Madushan

Antwort

17

Meine music app ist HTML5 und muss auch im Hintergrund ausgeführt werden. Die Unterstützung dafür hängt vom mobilen Browser ab.

  • Safari auf iOS: wird weiterhin im Hintergrund
  • india Browser auf Android einen oder zwei Songs spielen: wird ein Lied spielen, dann stoppt
  • Firefox auf Android: stoppen, wenn der Bildschirm Sperren oder Browser verliert Fokus oder Lied endet
  • Dolphin auf Android: spielt im Hintergrund! aber schließlich stoppt
  • Opera auf Android: bessere Hintergrundunterstützung, Javascript fährt fort und Musik fährt fort, sogar zu spielen, wenn Bildschirm aus ist oder Opera zum Hintergrund geschickt wird, aber stoppt schließlich nach einigen Liede.

Wie Sie sehen können, ist es Hit oder Miss. Die Hälfte der Zeit versuche ich, mein Handy rückwärts in die Tasche zu stecken und versuche, den Bildschirm eingeschaltet zu lassen, bis ich ihn versehentlich drücke - total scheiße. Ich sehne mich nach dem Tag, an dem der Benutzer mehr Kontrolle über die Ausführung von HTML5-Anwendungen im Hintergrund hat. Wenn ich raten müsste, würde ich sagen, dass die universelle Unterstützung dafür sehr weit entfernt ist, wenn sie jemals sogar in den Griff bekommen wird. Ich werde zu einer nativen App-Lösung gezwungen, obwohl ich fast davon überzeugt bin, dass Apple das niemals genehmigen wird. In der Zwischenzeit werde ich hoffnungsvoll bleiben und weiterhin die neuesten mobilen Browser testen. Denn wenn es tatsächlich passiert, wird es großartig. :-)

Ich sollte auch darauf hinweisen, dass nach meiner Erfahrung, für so ziemlich alle der oben genannten Kombinationen, mit HTML5, um gleichzeitig Javascript ausführen, Netzwerkdaten ziehen, und spielen Musik wird in der Regel Ihr Telefon in einen Ofen und töte deinen Akku ziemlich schnell. Ugg.

Darüber hinaus, wenn Sie jQuery Mobile verwenden (was meistens fantastisch ist), werden Sie verschiedene Touch-Handhabung auf den verschiedenen Browsern sehen. Zum Beispiel, Firefox Touch funktioniert gut, Dolphin ist schrecklich und erfordert präzise Touch-and-Hold-and-Release, um richtig zu machen. Das ist nicht direkt die Schuld von HTML5, sondern ein anderes Problem, mit dem ich es zu tun habe.

Hier sind ein weiterer Entwickler interesting thoughts auf mobilen HTML5.

UPDATE: Ich habe gerade (22. Mai 2013) Opera auf meinem Samsung Galaxy S3 heruntergeladen und es hat die beste HTML5-Unterstützung bisher. Für meine App läuft weiterhin Javascript im Hintergrund, egal ob der Bildschirm ausgeschaltet ist oder Opera für mindestens ein paar Songs in den Hintergrund geschoben wird.

Verwandte Themen