Javascript 是否可以在手机(iOS/Android)的后台观看位置?

Javascript 是否可以在手机(iOS/Android)的后台观看位置?,javascript,html,geolocation,Javascript,Html,Geolocation,对于watch,我的意思是使用HTML5的本地地理位置监视支持。这是针对web应用程序的,而不是本地应用程序。谢谢你的帮助:是的。如果您的手机浏览器支持geolocationapi,您肯定可以在后台观看位置 您可以使用watchPosition()函数 watchPosition()代码段 var watchID = navigator.geolocation.watchPosition(function(position) { do_something(position.coords.la

对于watch,我的意思是使用HTML5的本地地理位置监视支持。这是针对web应用程序的,而不是本地应用程序。谢谢你的帮助:是的。如果您的手机浏览器支持
geolocationapi
,您肯定可以在后台观看位置

您可以使用
watchPosition()
函数

watchPosition()代码段

var watchID = navigator.geolocation.watchPosition(function(position) {
  do_something(position.coords.latitude, position.coords.longitude);
});
navigator.geolocation.getCurrentPosition(function(position) {
  do_something(position.coords.latitude, position.coords.longitude);
});
如果位置数据发生变化(通过设备移动或如果发生更多变化 准确的地理信息),您可以设置回调函数 使用更新的位置信息调用。这已经完成了 使用具有相同输入的
watchPosition()
函数 参数为
getCurrentPosition()
。调用回调函数 多次,允许浏览器根据需要更新您的位置 您可以移动或提供更精确的位置

getCurrentPosition()代码片段

var watchID = navigator.geolocation.watchPosition(function(position) {
  do_something(position.coords.latitude, position.coords.longitude);
});
navigator.geolocation.getCurrentPosition(function(position) {
  do_something(position.coords.latitude, position.coords.longitude);
});
要获取更多信息,请参阅


希望有帮助

您不能在后台通过Web应用程序查看用户的位置。 我已经在Chrome(Android M)上检查过了,一旦网络应用进入后台,GPS图标就会消失,手表定位过程也就停止了。(一旦Web应用程序再次出现在前台,观察过程将恢复)


锁定设备时也会发生同样的情况。监视过程将停止,直到用户解锁,Web应用程序处于前台。

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

更新: -我使用的是Nexus 5X和安卓N,更新2021-04

讨论中有一个新的API“Geotracking”,它将允许背景跟踪。不过,这个问题需要投票。如果您对此感兴趣,请点击此处:

谢谢您的回答,即使设备被锁在别人的口袋里,这也会起作用?@Niels老实说,我还没有测试过这个用例。当设备锁定时,恐怕您无法检索更新的位置。如果您测试这个用例,一定要让我们知道!回答不正确,GeoLocation不适用于Android上的缓存(后台)进程。是否有任何(确定性)方法来告知或记录
watchPosition
以这种方式中断的时间?还是让我们对从一个循环到下一个循环的Δ时间戳进行统计推断?