【问题标题】:It is possible to watch the location in the background on Mobile (iOS / Android)?可以在移动设备(iOS / Android)上查看后台位置吗?
【发布时间】:2016-02-28 19:35:15
【问题描述】:

对于手表,我的意思是使用 HTML5 的原生 Geolocation 手表支持。这适用于 Web 应用程序,而不是本机应用程序。感谢您的帮助:D

【问题讨论】:

    标签: javascript html geolocation


    【解决方案1】:

    您无法在后台通过 Web 应用查看用户的位置。 我已经在 Chrome (Android M) 上进行了检查,一旦 Web 应用程序进入后台,GPS 图标就会消失,手表定位过程也会停止。 (一旦 Web App 再次在前台,watch 进程就会恢复)。

    设备锁定时也会发生同样的情况。 watch 进程会停止,直到用户解锁并且 Web App 处于前台。

    【讨论】:

    • watchPosition 以这种方式被打断时,是否有任何(确定的)方法来告诉或记录?或者我们是否要对从一个循环到下一个循环的 Δtimestamp 进行有统计依据的猜测?
    【解决方案2】:

    我已经在 android 上测试了 watchPosition api,它似乎适用于 firefox 但不适用于 chrome。

    更新: - 我正在使用带有 Android N 的 Nexus 5X

    【讨论】:

      【解决方案3】:

      2021 年 4 月更新

      有一个新的 API 正在讨论中,“Geotracking”,它将允许后台跟踪。不过,这个问题需要投票。如果您有兴趣这样做,请访问: https://bugs.chromium.org/p/chromium/issues/detail?id=898536

      【讨论】:

        【解决方案4】:

        是的。如果您的手机浏览器支持Geolocation API,您绝对可以在后台查看位置。

        你可以使用watchPosition()函数。

        watchPosition() 代码片段

        var watchID = navigator.geolocation.watchPosition(function(position) {
          do_something(position.coords.latitude, position.coords.longitude);
        });
        

        如果位置数据发生变化(通过设备移动或更多 准确的地理信息到达),可以设置回调函数 使用该更新的位置信息调用。这个做完了 使用具有相同输入的watchPosition() 函数 参数为getCurrentPosition()。回调函数被调用 多次,允许浏览器将您的位置更新为 您移动,或提供更准确的位置。

        getCurrentPosition() 代码片段

        navigator.geolocation.getCurrentPosition(function(position) {
          do_something(position.coords.latitude, position.coords.longitude);
        });
        

        如需了解更多信息,请参考Mozilla/Geolocation/WatchCurrentPosition

        希望对你有帮助!

        【讨论】:

        • 感谢您的回答,即使设备被锁在别人的口袋里也能正常工作?
        • @Niels 老实说,我还没有测试过这个用例。恐怕设备锁定时您将无法检索更新的位置。如果您测试此用例,请在此处告知我们!
        • 答案不正确,地理定位不适用于 Android 上的缓存(后台)进程。
        猜你喜欢
        • 1970-01-01
        • 2015-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-26
        • 1970-01-01
        • 2011-02-07
        • 1970-01-01
        相关资源
        最近更新 更多