【发布时间】:2021-06-11 15:13:18
【问题描述】:
我需要一些帮助才能让我的应用在后台运行。 我用 Cordova 10,jquerymobile 创建了我的第一个应用程序,它运行良好,但在背景中除外。
这个想法是安装以下插件cordova-plugin-background-mode,但我很难理解。
我安装了插件,然后我添加了以下内容
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
document.getElementById('deviceready').classList.add('deviseIsReady');
cordova.plugins.backgroundMode.enable();
if(Pages.checkConnection() == true)
{
Maps.load();
setInterval(Maps.load, 300000);
}
}
这样,手机就准备好了,后台模式被激活。我将我的应用上传到我的 Android,但我的应用停止工作。
我想知道这是否是一个解决方案
$(window).load(function(){
document.addEventListener("offline", Pages.offLine, false);
document.getElementById("refresh").addEventListener("click", Maps.refresh);
document.getElementById("ffield").addEventListener("change", Maps.field);
document.getElementById("fstations").addEventListener("change", Charts.changeStation);
document.getElementById("threshold").addEventListener("change", Pref.threshold);
document.getElementById("ffieldpref").addEventListener("change", Pref.field);
cordova.plugins.backgroundMode.on('EVENT', backgroundEvent);
});
function backgroundEvent(){
if(cordova.plugins.backgroundMode.isActive()){
cordova.plugins.backgroundMode.moveToBackground();
}
else
{
cordova.plugins.backgroundMode.moveToForeground();
}
}
但我不知道它什么时候会被激活,以及它是否可以与 IOS 设计一起使用。
你们中的一些人有使用 Cordova 的经验,以及如何使用 jQuery Mobile 设置后台模式?有什么例子吗?
非常感谢您的帮助和建议。
干杯
【问题讨论】:
-
你想达到什么目的?应用恢复时刷新一些数据?
-
您好,感谢您的回复。我的应用程序需要从数据库中获取温度,如果温度低于阈值,手机必须响两三下(振动也很好)。如果在睡眠模式期间地图或值未更新,那并不重要,至少在重新打开(或唤醒)APP 时会刷新值。我还对推送通知进行了调查,但没有成功。有一个声音警报是非常重要的。然后车主打开APP查看状态
-
我认为您最好使用后台提取任务来从数据库中提取数据。查看github.com/transistorsoft/cordova-plugin-background-fetch
标签: android ios cordova jquery-mobile background-process