javascript - 在 webapp(服务工作者)中跟踪后台位置
问题描述
我想知道是否可以在 Webapp 后台运行时跟踪位置?
我听说这个功能正在为服务人员准备中,但我找不到任何关于如何做到这一点的文献。
只需将位置保存在手机上,直到手机解锁,然后在用户重新打开浏览器/选项卡时通过网络发送位置数据。
如果纯 Web 技术无法实现,那么最好的方法是什么。是否可以构建一个原生应用程序来处理跟踪功能,并且仍然将 Web 界面作为主要 UI?
一点上下文
我正在为一家慈善机构开发一个应用程序,该应用程序允许用户在外出时跟踪自己等。用户可能会在巡逻时锁定他们的手机,所以我需要考虑这一点。我已经将应用程序的大部分构建为 Web 应用程序,将其重写为原生 android 和苹果应用程序将是一项艰巨(且无聊)的任务!
解决方案
不,出于隐私原因,这是不可能的。当应用程序在后台时,您也无法通过 Service Worker 进行任何类型的准确调度,例如。使用 setTimeout 左右(由浏览器限制)。
您可能已经阅读过后台同步 API,它允许您在连接可用时要求 Service Worker 提交一些数据。使用此 API,您可以为表单 POST 和类似的东西实现重试,但不跟踪位置。在此处了解更多信息:https ://davidwalsh.name/background-sync
推荐阅读
- google-compute-engine - 如何使用 Google 部署管理器创建区域健康检查
- laravel - 无法上传 Laravel 文件
- r - 理解函数分位数的问题
- node.js - 编写一个 docker 镜像但得到一个 npm ERR!EXDEV
- html - 使用 *ngFor 创建条件
- python - 如何加载保存的 TensorFlow 模型并对其进行评估
- animation - 为什么 NavigationView 中的动画从左上角开始?
- python - 每次for循环的交互如何创建新线程?
- php - Firestore PHP SDK - 如何保存日期?
- arrays - 无法将 appsettings IConfiguration 部分反序列化为类型化元素的数组