Android 移动web app/pwa是否可以在;“最小化”;在电话里?

Android 移动web app/pwa是否可以在;“最小化”;在电话里?,android,ios,mobile,service-worker,progressive-web-apps,Android,Ios,Mobile,Service Worker,Progressive Web Apps,如果我通过单击主屏幕上的图标使用web浏览器或PWA打开web应用程序,该应用程序在最小化时是否仍能发送HTTP请求 我这样问是因为,例如,我想签出一个导航应用程序来导航到某个地方,但我仍然希望web应用程序在最小化的情况下通过HTTP请求更新用户的位置 是否可能,或者应用程序在未聚焦时停止“工作”?是否需要服务人员实施?您可以通过实施PWA来完成任务。Service Worker文件将在后台运行,即使在用户关闭应用程序时也会保持运行。 这是可能的,因为软件在单独的线程上运行 也可以执行后台同步

如果我通过单击主屏幕上的图标使用web浏览器或PWA打开web应用程序,该应用程序在最小化时是否仍能发送HTTP请求

我这样问是因为,例如,我想签出一个导航应用程序来导航到某个地方,但我仍然希望web应用程序在最小化的情况下通过HTTP请求更新用户的位置


是否可能,或者应用程序在未聚焦时停止“工作”?是否需要服务人员实施?

您可以通过实施PWA来完成任务。Service Worker文件将在后台运行,即使在用户关闭应用程序时也会保持运行。 这是可能的,因为软件在单独的线程上运行

也可以执行后台同步,即使其支持非常有限:

如果互联网连接可用,您可以让服务人员呼叫服务器发送用户的位置,否则这些信息可以存储在本地数据库(例如IndexedDB或Cloud Firestore)中,然后,一旦用户再次联机,更改将推送到服务器


使用CloudFireStore的好处在于,同步是为您量身定做的。我写了一篇关于克服cacheapi限制的文章。这是关于PWAs的一系列文章中的一篇,如果你想深化主题,请先看一看。

这完全取决于用户的浏览器。你能再详细一点吗?是否需要Chrome?对于Chrome,它将在被系统杀死之前继续工作一段时间,所以基本上它不是很可靠,你必须使用本机移动解决方案才能实现我想做的事情是的,没错。另一位先生说不可能,所以现在我有点困惑。从上面的方案中可以看出,后台同步取决于浏览器。因此,如果您使用Firefox,它将无法工作。但如果你只能依靠chrome或opera,那么这是可能的。也许他的意思是不可能提供一个通用的解决方案,可以跨多个/所有浏览器工作。似乎后台同步是一个一次性的函数调用,当应用程序在后台打开时,我需要每10秒更新一次某人的地理位置。因此,看起来我需要一个本地解决方案。我可以想象一个解决方案,给定一个特定的时间间隔(10秒),检查互联网是否可用,如果可用,它将调用端点来注册位置,否则它将保存在本地数据库中。一旦用户再次连接,软件将访问数据库并逐个执行对服务器的更新。实际上,通过一点自定义逻辑,您可以在没有后台同步的情况下实现这一点。但当然,这取决于你如何实施符合你要求的最佳解决方案。@Francesco:你真的是指当用户关闭应用程序时,还是只是将其最小化?如果应用程序根本没有运行,我认为这是不可能的。