如何解决Cordova 在后台运行函数
在打开这个问题之前,我在这里研究过,我所拥有的并不是我需要的。
我正在使用插件:
- cordova plugin add cordova-plugin-network-information
- cordova plugin add cordova-plugin-background-mode
阅读文档我到达了这个蒙太奇:
document.addEventListener("online",onOnline,false);
function onOnline() {
let networkState = navigator.connection.type
if (networkState == "wifi") {
document.addEventListener('deviceready',function () {
cordova.plugins.backgroundMode.enable();
cordova.plugins.backgroundMode.isScreenOff(function() {
setInterval(function(){
alert('Alert executed in the background')
cordova.plugins.backgroundMode.setDefaults({
title: 'Title',text: 'Text',icon: 'www/img/res/mipmap-xxxhdpi/ico.png',color: 'F14F4D',resume: true,hidden: false,bigText: true
})
},5000);
});
},false);
}
}
但结果什么都没有,没有错误,应用关闭时也没有运行警报。
我需要在应用关闭的情况下运行警报,并且图标出现在电话栏的顶部,表示有什么东西正在运行。
谢谢。
解决方法
尝试将您注册到事件的顺序切换。
document.addEventListener('deviceready',function () {
cordova.plugins.backgroundMode.enable();
cordova.plugins.backgroundMode.isScreenOff(function() {
});
document.addEventListener("online",onOnline,false);
},false);
function onOnline() {
let networkState = navigator.connection.type
if (networkState == "wifi") {
setInterval(function(){
alert('Alert executed in the background')
cordova.plugins.backgroundMode.setDefaults({
title: 'Title',text: 'Text',icon: 'www/img/res/mipmap-xxxhdpi/ico.png',color: 'F14F4D',resume: true,hidden: false,bigText: true
})
},5000);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。