我正在开发一个Phonegap应用程序,我需要在最终用户使用应用程序时每5分钟记录一次移动用户的位置(当应用程序处于后台时,我真的不想获得该位置)。到目前为止,我使用这个函数:
setInterval(function() {
navigator.geolocation.getCurrentPosition(geo_onSuccess, geo_onError);
}, 1000 * 60 * 0.1);
备注:出于测试目的,它设置为0.1而不是5(持续5分钟)
此功能正常,直到屏幕保护程序激活。当我打开屏幕时,不再调用函数geo_onSuccess。我只是通过geo_onError 1次获得超时错误。打开屏幕后如何让这个插件工作(重启?)?还是有其他方法可以定期记录移动用户的位置吗?
谢谢!
答案 0 :(得分:1)
为您的项目添加一些事件处理程序:
var geoInterval;
document.addEventListener("resume", onResume, false);
function onResume(){
geoInterval = setInterval(function() {
navigator.geolocation.getCurrentPosition(geo_onSuccess, geo_onError);
}, 1000 * 60 * 0.1);
}