屏幕保护后打开屏幕后获取位置

Posted

技术标签:

【中文标题】屏幕保护后打开屏幕后获取位置【英文标题】:Get location after the screen is switched on after screen saver 【发布时间】:2015-11-15 14:00:43 【问题描述】:

我正在开发一个 Phonegap 应用程序,当最终用户使用该应用程序时,我需要每 5 分钟记录一次移动用户的位置(当应用程序处于后台时,我对获取位置并不感兴趣)。到目前为止我使用这个功能:

setInterval(function() 
   navigator.geolocation.getCurrentPosition(geo_onSuccess, geo_onError);
, 1000 * 60 * 0.1);

备注:设置为 0.1 而不是 5(5 分钟)用于测试目的

在激活屏幕保护程序之前,这一切正常。当我打开屏幕时,不再调用函数 geo_onSuccess 。我只是通过 geo_onError 1 得到超时错误。打开屏幕后,我怎样才能使这个插件工作(重新启动?)?或者有没有其他方法可以定期记录移动用户的位置?

谢谢!

【问题讨论】:

【参考方案1】:

为您的项目添加一些事件处理程序:

var geoInterval;

document.addEventListener("resume", onResume, false);

function onResume()
   geoInterval = setInterval(function() 
      navigator.geolocation.getCurrentPosition(geo_onSuccess, geo_onError);
      , 1000 * 60 * 0.1);

【讨论】:

以上是关于屏幕保护后打开屏幕后获取位置的主要内容,如果未能解决你的问题,请参考以下文章

在ImageView中怎样实现点击屏幕获得坐标后并定位标注

如果设备屏幕关闭,如何获取位置信息?

如何在 React Native 中从屏幕的特定位置打开模式或工具提示?

关闭屏幕后无法从加速度传感器android获取值

adb 模拟双击 快速点击屏幕

RecyclerView 在 NotifyDataSetChanged() 之后没有更新,打开和关闭屏幕后显示内容