【发布时间】:2017-09-12 15:00:56
【问题描述】:
我正在开发一个带有 phonegap 的简单应用程序,它每 30 秒通过 ajax 调用将用户当前坐标发送到我的数据库。效果很好
$(document).ready(function() {
setInterval(function() {
SetLocationUpdates();
}, 30000);
});
如果应用程序在前台,则没有问题,一切正常,但如果我使用此代码打开谷歌地图应用程序
<div><a href="geo:41.897096,27.036545">Open maps app</div>
我的应用程序进入后台(我的应用程序和谷歌地图应用程序分别工作。两个应用程序同时工作)并且不再执行间隔功能。
是否可以通过 phonegap 在后台执行 javascript 代码(计时器功能)?
已编辑:
我使用了 cordova-plugin-background-mode(https://github.com/katzer/cordova-plugin-background-mode) 但它仍然不起作用。并且警报给出错误。这有什么问题?
document.addEventListener('deviceready', function () {
cordova.plugins.backgroundMode.enable();
alert(cordova.plugins.backgroundMode.isActive());
}, false);
【问题讨论】:
-
Javascript 计时器通常在现代浏览器中在它们运行的上下文(即窗口)失去焦点时暂停。听起来它在 PhoneGap 中的工作方式有些相同?
-
我应该怎么做?我应该使用网络工作者还是有什么解决方案?
-
不确定,也许其他人有解决 PhoneGap 的方法?
-
我尝试了 cordova-plugin-background-mode 但它仍然不起作用。我编辑了问题并将此信息添加到问题的末尾
-
您好,您解决了吗?我也有同样的问题。
标签: javascript google-maps timer phonegap-plugins phonegap