android - 当手机上的 "minimized"时,移动 Web 应用程序/pwa 可以发送 HTTP 请求吗?

标签 android ios mobile service-worker progressive-web-apps

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

我问这个问题是因为,例如,我想查看一个导航应用程序以导航到某个地方,但我仍然希望网络应用程序在最小化时通过 HTTP 请求更新用户的位置。

应用程序是否可能在未聚焦时停止“工作”?是否需要 Service Worker 实现?

最佳答案

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

也可以执行后台同步,尽管它的支持非常有限:

enter image description here

如果互联网连接可用,您可以让 Service Worker 调用服务器来发送用户的位置,否则此信息可以存储在本地数据库(例如 IndexedDB 或 Cloud Firestore)中,然后,一旦用户再次上线,更改将被推送到服务器。

使用 Cloud Firestore 的好处是,同步是开箱即用的。我写了一篇关于the usage of Firestore with PWAs的文章克服 CACHE API 的限制。它位于有关 PWA 的一系列文章中,如果您想加深该主题,请看一下。

关于android - 当手机上的 "minimized"时,移动 Web 应用程序/pwa 可以发送 HTTP 请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58110663/

相关文章:

ios - 在 TextView 中渲染新行

iphone - 卡在 NSUserDefaults 上

android - 如何在 CalendarView 中仅显示日期栏?

android - Android Activity/服务中的多个线程

iOS:使用类型 'CGRect'(又名 'struct CGRect'),其中需要算术或指针类型

html - 修复了页面正文过大的移动端标题

css - 移动设备上的高度问题

css - 在移动设备上响应,表格在 iframe 中不工作

java - Android Studio AndroidManifest.xml 与 build.gradle

android - 无法合并dex-Gradle 3.0.0