首页 > 解决方案 > 在 webapp(服务工作者)中跟踪后台位置

问题描述

我想知道是否可以在 Webapp 后台运行时跟踪位置?

我听说这个功能正在为服务人员准备中,但我找不到任何关于如何做到这一点的文献。

只需将位置保存在手机上,直到手机解锁,然后在用户重新打开浏览器/选项卡时通过网络发送位置数据。

如果纯 Web 技术无法实现,那么最好的方法是什么。是否可以构建一个原生应用程序来处理跟踪功能,并且仍然将 Web 界面作为主要 UI?


一点上下文

我正在为一家慈善机构开发一个应用程序,该应用程序允许用户在外出时跟踪自己等。用户可能会在巡逻时锁定他们的手机,所以我需要考虑这一点。我已经将应用程序的大部分构建为 Web 应用程序,将其重写为原生 android 和苹果应用程序将是一项艰巨(且无聊)的任务!

标签: javascriptweb-applicationsgeolocationservice-worker

解决方案


不,出于隐私原因,这是不可能的。当应用程序在后台时,您也无法通过 Service Worker 进行任何类型的准确调度,例如。使用 setTimeout 左右(由浏览器限制)。

您可能已经阅读过后台同步 API,它允许您在连接可用时要求 Service Worker 提交一些数据。使用此 API,您可以为表单 POST 和类似的东西实现重试,但不跟踪位置。在此处了解更多信息:https ://davidwalsh.name/background-sync


推荐阅读