gpt4 book ai didi

javascript - 当应用程序处于 sleep 模式时,有没有办法在 PWA 中的服务工作人员中跟踪用户当前位置?

转载 作者:行者123 更新时间:2023-12-03 13:38:53 25 4
gpt4 key购买 nike

无论您喜欢慢跑或骑自行车并想要跟踪您的行程,还是管理卡车、农场或采矿车辆或送货自行车车队,您都需要在 Web 应用程序处于后台或您的设备时跟踪您的地理位置睡着了。

我想知道当今的 Web 应用程序 PWA 是否可以支持使用 Service Worker 在后台实时跟踪用户位置并发送通知之类的功能。

这适用于服务 worker 吗:

window.navigator.geolocation.getCurrentPosition(function(pos) {
console.log('pos: ', pos);
});

当应用程序在后台运行时?

最佳答案

简短回答:否

长答案:-

您并不孤单遇到这个问题。一百万其他开发人员也要求提供同样的功能。

请参阅 W3C 断然拒绝指定的提议 TravelManager 解决方案。 UA vendor 也拒绝实现,原因只有他们自己知道。它比 that 更糟糕; W3C 正试图将地理定位重新发明为传感器,并推迟任何有用或新颖的功能,从而浪费了数十万美元,但更重要的是,浪费了宝贵的时间。

有关完整背景,请参阅 (1) this 或 (2) this.

要笑/哭,请参阅 (3) this.

(1) 这是 W3C ServiceWorker GitHub 存储库中的一个线程,于 2015 年 9 月 5 日首次提出了后台地理定位的问题/要求。这里包含了大量的用例、用户/开发人员高需求的无可辩驳的证据以及建议的解决方案。由于我在该线程中的帖子,我受到了所有 W3C github 存储库的审查,但我让您在未编辑的线程版本中判断其他作者的内容,可以在 here. 中找到

(2) 更多用户要求 W3C 地理定位存储库提供相同的后台地理定位功能。

(3) 有证据表明,W3C 目前正在疯狂地将地理定位重新打造为传感器,同时承认现有 API 将继续得到支持和使用,任何新颖的功能(尤其是后台功能)都将推迟到神话版本 2,除了“版本 1 之后的某个时间”之外没有任何时间线。 他们知道他们生成的主线程或 Web Worker API 不会在 ServiceWorker 环境中工作。难以置信!

(*) 另请注意失败的 W3C 地理围栏 attempt 。更多的钱浪费了宝贵的时间。另请注意,他们会尝试通过电池终止 WakeLock() 来欺骗您(就好像您希望在慢跑时打开屏幕,或者在地理围栏触发器到位时根本不想使用任何其他应用程序一样) 。另外看看 PhoneGap/Cordova 有多受欢迎。为什么? 后台地理定位!

(**) 是的,这可能会让人觉得有点咆哮,但在 4 年的观察中,个性和自负阻碍了基本的 Web 应用程序功能,而这些功能可以让我们与 Native 正面交锋,之后很难保持情感上的超然。应用程序:-(

没有人能够通过详细的 TravelManager 解决方案找出错误! (是的,我们必须处理权限问题,但看看 requestPermission() 解决方案对 iOS/Safari 陀螺仪等传感器关闭的崩溃,我们同意权限是所有人都在进行的工作。(当我说“崩溃”时“这是因为 W3C 多年来一直提示 requestPermission() 是一种“反模式”)))请参阅 W3C permissions 存储库以获取更多被忽略的建议。

关于javascript - 当应用程序处于 sleep 模式时,有没有办法在 PWA 中的服务工作人员中跟踪用户当前位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55290691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com