¿Configurar el modo de suspensión para una aplicación web progresiva (PWA)?

En primer lugar, no conozco la diferencia entre el "modo de suspensión" y el "modo de espera", por lo que lo más probable es que esté usando el término incorrecto en la siguiente descripción del problema:

Me construyo un pequeño PWA que rastrea mis rutas con OpenLayers. Funciona bien hasta ahora, pero en algún momento se interrumpe la grabación de una pista. Supongo que esto se debe al modo de suspensión automático, que "apaga" Chrome y probablemente también "navigator.geolocalización".

¿Hay alguna posibilidad de que mi PWA y navigator.geolocation sigan funcionando cuando Android está en modo de suspensión? Y si es así, ¿hay alguna forma de activar esa configuración a través de la PWA y sin ir a "Configuración -> ... -> ..." (si esa es una opción)?

¡Gracias!

PD: La comunidad gis.stackexchange.com me recomendó hacer esta pregunta aquí.

PPS: una "PWA" ("aplicación web progresiva"), en resumen, no es más que una aplicación web que se ve y se comporta como una aplicación "real". Aunque se ejecuta en un navegador (en mi caso, solo me enfoco en Chrome), se puede usar sin conexión a través de los trabajadores del servicio, la interfaz de usuario no muestra la barra de direcciones del navegador y algunas cosas más. Al usar todas las API de los navegadores modernos, es posible crear una aplicación sin tener que pasar por la tienda de aplicaciones (aunque una PWA también podría registrarse como una aplicación en la tienda de aplicaciones).

AFAIK, un PWA se basa en un navegador web y está sujeto a las mismas restricciones que el navegador. Como no sé sobre esto, vea si puede pedirle al usuario que exima su aplicación (técnicamente, el navegador) de la optimización de la batería . Las aplicaciones nativas pueden preguntarle al usuario de esta manera. Puede que esté totalmente equivocado en el tema, pero esta es mi opinión dada mi experiencia con las PWA en función de la interacción específica del usuario final con ellas.

Respuestas (1)

Resulta que hay una API web, "Screen Wake Lock API": https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake_Lock_API