Estoy interesado en crear una geolocalización HTML5 basado en web app, que todavía podría ser operativo cuando la pantalla del teléfono está apagado (por ejemplo, el seguimiento de lo lejos que has estado corriendo cuando su teléfono está en su bolsillo).

Hay alguna forma de mantener la aplicación en ejecución, sino que la pantalla se apague, o tiene que la aplicación se ejecute en segundo plano mientras otras aplicaciones están siendo utilizados? Es esto posible, al menos en algunos de los más populares dispositivos móviles por ahí (los nuevos dispositivos iOS y Android en particular?)

  • En Android, tendrás que escribir una aplicación nativa y ejecutar un servicio para mantener activa. Dudo que ios es muy diferente.
  • Para Android, sí, por supuesto, creía que su «web app» tendría que ser vista como una aplicación (como en lo Brecha de Teléfono proporciona). Y entonces usted probablemente iba a necesitar usar el Java capa y hacer un poco de ese trabajo, el uso de AsyncTask y un Servicio. Para iOS, no tengo idea.
  • Aunque lo dudo.. quizás un poco de suerte conseguir que esto funcione. con un iframe. stackoverflow.com/questions/7047989/…, [ver de primera respuesta. ]
  • Ahora es el año 2018, las cosas cambiaron? Pueden los trabajadores del servicio de ayuda, por ejemplo?
InformationsquelleAutor tborenst | 2013-03-17

2 Comentarios

  1. 21

    Mi aplicación de música es HTML5 y también es necesario para que se ejecute en segundo plano. El apoyo para que varía dependiendo del navegador móvil.

    • Safari en iOS: seguirá desempeñando una o dos canciones en el fondo
    • Navegador nativo de Android: se jugará una canción y luego se detiene
    • Firefox en Android: se detiene cuando la pantalla se bloquea o navegador pierde el foco o la canción termina
    • De delfines en Android: juega en el fondo! pero finalmente deja de
    • Opera en Android: mejor fondo de apoyo, Javascript sigue funcionando y la música continúa reproduciéndose incluso cuando la pantalla está apagada o la Ópera se envía al fondo, pero finalmente se detiene después de un par de canciones.

    Como se puede ver es golpeado o se pierda. La mitad del tiempo me terminan tratando de poner mi teléfono en mi bolsillo de atrás, tratando de mantener la pantalla encendida, hasta que se pulsa accidentalmente es totalmente una mierda. Anhelo el día cuando el usuario tiene más control sobre la ejecución de aplicaciones HTML5 en el fondo. Si tuviera que adivinar, yo diría que el apoyo universal que está muy lejos, si es que alguna vez incluso llega a tracción. Estoy siendo forzada hacia una aplicación nativa de la solución aunque estoy casi seguro de que Apple nunca va a aprobar. Mientras tanto, voy a mantener la esperanza y mantener las pruebas de los móviles más recientes de los navegadores. Porque si lo que realmente sucede, va a ser impresionante. 🙂

    También debo señalar que, en mi experiencia, para casi todas las combinaciones anteriores, el uso de HTML5 para ejecutar de forma simultánea javascript, tire de la red de datos, y la reproducción de música se suelen convertir tu teléfono en un horno y mata la batería muy rápidamente. Ugg.

    Además, si usted está usando jQuery Mobile (que en su mayoría es fantástico), verá toque diferente manejo en los diferentes navegadores. Por ejemplo, Firefox toque de las grandes obras, de los Delfines es terrible y requiere un preciso toque y mantenga el lápiz-y-soltar para obtener el derecho. Que no es directamente HTML5 culpa, pero otro problema que estoy tratando.

    Aquí hay otro desarrollador del interesantes reflexiones en el móvil HTML5.

    ACTUALIZACIÓN: acabo de (22 de Mayo de 2013) descargado el Opera en mi Samsung Galaxy S3 y tiene el mejor soporte HTML5 hasta ahora. Para mi aplicación, se sigue ejecución de javascript en el fondo, si la pantalla está apagada, o la Ópera es empujado a un segundo plano, al menos un par de canciones.

    • Ahora es el año 2018, las cosas cambiaron? Pueden los trabajadores del servicio de ayuda, por ejemplo?
    • Ver los otros nuevos responder por los detalles (que no he hecho, que a mí mismo).
  2. 4

    Puede utilizar el Servicio de los Trabajadores:

    https://developers.google.com/web/fundamentals/primers/service-workers/

    Un trabajador de servicio es un script que su navegador se ejecuta en segundo plano, separado de una página web, abrir la puerta a las funciones que no necesitas una página web o la interacción con el usuario. Hoy, que ya incluyen funciones como las notificaciones push y el fondo de sincronización. En el futuro, los trabajadores de los servicios podrían apoyar a otras cosas como el periódico de sincronización o de geocercas.

    Para ser precisos, las aplicaciones pueden registrar a un trabajador de servicio de la siguiente manera:

    if ('serviceWorker' in navigator) {
      window.addEventListener('load', function() {
        navigator.serviceWorker.register('/sw.js').then(function(registration) {
          //Registration was successful
          console.log('ServiceWorker registration successful with scope: ', registration.scope);
        }, function(err) {
          //registration failed :(
          console.log('ServiceWorker registration failed: ', err);
        });
      });
    }

    Una vez que el trabajador del servicio de registro es exitoso, cualquier aplicación de la lógica implementada en sw.js se ejecutará en segundo plano, incluso si la aplicación de la ficha está deshabilitado.

    • SW son la reja, pero no es perfecto, se limita principalmente a la notificación de inserción, el evento de red y almacenamiento en caché de las cosas. No es bueno para mantenerse vivo y cerca de la fuerza después de 10 minutos o así, si las cosas están impidiendo que va de inactividad. Él no tiene ningún control sobre la reproducción de música, geo monitoreo o p2p cosas 🙁

Dejar respuesta

Please enter your comment!
Please enter your name here